{
  "contractName": "WitOracleTrustlessDataLib",
  "abi": [
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Burnt",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Received",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "index",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "prevIndex",
              "type": "uint32"
            },
            {
              "internalType": "bytes24",
              "name": "prevRoot",
              "type": "bytes24"
            },
            {
              "internalType": "bytes16",
              "name": "ddrTalliesMerkleRoot",
              "type": "bytes16"
            },
            {
              "internalType": "bytes16",
              "name": "droTalliesMerkleRoot",
              "type": "bytes16"
            },
            {
              "internalType": "uint256[4]",
              "name": "nextCommitteeAggPubkey",
              "type": "uint256[4]"
            }
          ],
          "indexed": false,
          "internalType": "struct Witnet.Beacon",
          "name": "head",
          "type": "tuple"
        }
      ],
      "name": "Rollup",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Slashed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Staked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Unstaked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "Witnet.QueryId",
          "name": "queryId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmDisputer",
          "type": "address"
        }
      ],
      "name": "WitOracleQueryReportDispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Withdrawn",
      "type": "event"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "uint32",
                  "name": "index",
                  "type": "uint32"
                },
                {
                  "internalType": "uint32",
                  "name": "prevIndex",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes24",
                  "name": "prevRoot",
                  "type": "bytes24"
                },
                {
                  "internalType": "bytes16",
                  "name": "ddrTalliesMerkleRoot",
                  "type": "bytes16"
                },
                {
                  "internalType": "bytes16",
                  "name": "droTalliesMerkleRoot",
                  "type": "bytes16"
                },
                {
                  "internalType": "uint256[4]",
                  "name": "nextCommitteeAggPubkey",
                  "type": "uint256[4]"
                }
              ],
              "internalType": "struct Witnet.Beacon",
              "name": "beacon",
              "type": "tuple"
            },
            {
              "internalType": "uint256[2]",
              "name": "committeeAggSignature",
              "type": "uint256[2]"
            },
            {
              "internalType": "uint256[4][]",
              "name": "committeeMissingPubkeys",
              "type": "uint256[4][]"
            }
          ],
          "internalType": "struct Witnet.FastForward[]",
          "name": "rollup",
          "type": "tuple[]"
        }
      ],
      "name": "verifyBeacons",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "index",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "prevIndex",
              "type": "uint32"
            },
            {
              "internalType": "bytes24",
              "name": "prevRoot",
              "type": "bytes24"
            },
            {
              "internalType": "bytes16",
              "name": "ddrTalliesMerkleRoot",
              "type": "bytes16"
            },
            {
              "internalType": "bytes16",
              "name": "droTalliesMerkleRoot",
              "type": "bytes16"
            },
            {
              "internalType": "uint256[4]",
              "name": "nextCommitteeAggPubkey",
              "type": "uint256[4]"
            }
          ],
          "internalType": "struct Witnet.Beacon",
          "name": "head",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.TransactionHash",
              "name": "witDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "queryRadHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "queryParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.DataPushReport",
          "name": "report",
          "type": "tuple"
        },
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "uint32",
                  "name": "index",
                  "type": "uint32"
                },
                {
                  "internalType": "uint32",
                  "name": "prevIndex",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes24",
                  "name": "prevRoot",
                  "type": "bytes24"
                },
                {
                  "internalType": "bytes16",
                  "name": "ddrTalliesMerkleRoot",
                  "type": "bytes16"
                },
                {
                  "internalType": "bytes16",
                  "name": "droTalliesMerkleRoot",
                  "type": "bytes16"
                },
                {
                  "internalType": "uint256[4]",
                  "name": "nextCommitteeAggPubkey",
                  "type": "uint256[4]"
                }
              ],
              "internalType": "struct Witnet.Beacon",
              "name": "beacon",
              "type": "tuple"
            },
            {
              "internalType": "uint256[2]",
              "name": "committeeAggSignature",
              "type": "uint256[2]"
            },
            {
              "internalType": "uint256[4][]",
              "name": "committeeMissingPubkeys",
              "type": "uint256[4][]"
            }
          ],
          "internalType": "struct Witnet.FastForward[]",
          "name": "rollup",
          "type": "tuple[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "droMerkleTrie",
          "type": "bytes32[]"
        }
      ],
      "name": "parseDataPushReport",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultStatus",
              "name": "status",
              "type": "Witnet.ResultStatus"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "Witnet.RadonDataTypes"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "finality",
              "type": "uint256"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "bytes",
                      "name": "data",
                      "type": "bytes"
                    },
                    {
                      "internalType": "uint256",
                      "name": "cursor",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct WitnetBuffer.Buffer",
                  "name": "buffer",
                  "type": "tuple"
                },
                {
                  "internalType": "uint8",
                  "name": "initialByte",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "majorType",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "additionalInformation",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "len",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "tag",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetCBOR.CBOR",
              "name": "value",
              "type": "tuple"
            }
          ],
          "internalType": "struct Witnet.DataResult",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Burnt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"indexed\":false,\"internalType\":\"struct Witnet.Beacon\",\"name\":\"head\",\"type\":\"tuple\"}],\"name\":\"Rollup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Slashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Staked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Unstaked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"queryId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmDisputer\",\"type\":\"address\"}],\"name\":\"WitOracleQueryReportDispute\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"report\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"beacon\",\"type\":\"tuple\"},{\"internalType\":\"uint256[2]\",\"name\":\"committeeAggSignature\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[4][]\",\"name\":\"committeeMissingPubkeys\",\"type\":\"uint256[4][]\"}],\"internalType\":\"struct Witnet.FastForward[]\",\"name\":\"rollup\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"droMerkleTrie\",\"type\":\"bytes32[]\"}],\"name\":\"parseDataPushReport\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultStatus\",\"name\":\"status\",\"type\":\"Witnet.ResultStatus\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"Witnet.RadonDataTypes\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"finality\",\"type\":\"uint256\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.DataResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"beacon\",\"type\":\"tuple\"},{\"internalType\":\"uint256[2]\",\"name\":\"committeeAggSignature\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[4][]\",\"name\":\"committeeMissingPubkeys\",\"type\":\"uint256[4][]\"}],\"internalType\":\"struct Witnet.FastForward[]\",\"name\":\"rollup\",\"type\":\"tuple[]\"}],\"name\":\"verifyBeacons\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"prevIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes24\",\"name\":\"prevRoot\",\"type\":\"bytes24\"},{\"internalType\":\"bytes16\",\"name\":\"ddrTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"droTalliesMerkleRoot\",\"type\":\"bytes16\"},{\"internalType\":\"uint256[4]\",\"name\":\"nextCommitteeAggPubkey\",\"type\":\"uint256[4]\"}],\"internalType\":\"struct Witnet.Beacon\",\"name\":\"head\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Trustless Witnet Request Board data library extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"burn(address,uint256)\":{\"notice\":\"======================================================================= --- Escrowable --------------------------------------------------------\"},\"claimQueryReward(uint256,uint256,uint256)\":{\"notice\":\"======================================================================= --- IWitOracleQueriableTrustlessReporter ---------------------------------------\"},\"deleteQueryTrustlessly(uint256,uint256,uint256)\":{\"notice\":\"======================================================================= --- IWitOracle --------------------------------------------------------\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/data/WitOracleTrustlessDataLib.sol\":\"WitOracleTrustlessDataLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"project:/contracts/data/WitOracleDataLib.sol\":{\"keccak256\":\"0x879c513c3cac839300e954d5ffe61c14eaec3052b39898ec2402068169fddd55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63f58f4aa26e2a174fb5cee2fd9c06a10c337e6766b804e38bb4bbb3c3d4682d\",\"dweb:/ipfs/QmTjS8hws4VAd3S8dpNmX3zyV7oCF7xJ7AZTRJwrmbhSmi\"]},\"project:/contracts/data/WitOracleTrustlessDataLib.sol\":{\"keccak256\":\"0xe8a7bc0ec65380336ceb381c56afa6a3aff93bca34b4380a6c6d6faaeab16ae2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0a4f80c9cae5ba779b8baa9a85feb2a948dd6d945002859405fd1fada34f809\",\"dweb:/ipfs/QmWGYMduHTbuvNE4p7JuVEBQXPzi8fHs1x7Gvqse2Upssa\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableConsumer.sol\":{\"keccak256\":\"0xe8143d2387d674022f453b57652998f53cbe4c21fe35e59421428142355c8ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6c3e3d3e7168a3fb75b1eca23d078d5240e5b02dac8a449d1ddf79256a34d8\",\"dweb:/ipfs/QmbGk4tQzTogTBVYiT8t3Gqtk6qDs5nyp9Z53GryTjKAm5\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleQueriableExperimental.sol\":{\"keccak256\":\"0x57c0007d813ed3e6dd3e0bb128e6ca7a0324214962823c6456e2e37d78ab4070\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5edc498ccc728327f1f3c80d2decd7ca64920a3aee4faaba08dd354f1256b66\",\"dweb:/ipfs/QmdEJWUtQqTVdFLCiNKUPSe3NwXzuHmG6XzA1VbHHHgdPy\"]},\"project:/contracts/interfaces/IWitOracleQueriableTrustableReporter.sol\":{\"keccak256\":\"0x043a719845d75dccc3c7c046fdd214bb252ab2b85400fbd139ed5cea9469becc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b1be7cbf990ff4d383b1c0695626af794442f9a48f02e13435793c4316ff011\",\"dweb:/ipfs/QmX3Lq17FMsN2T9K4fAYg6CRTYjwHd6hT1XKjEA2T7QeM5\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitOracleTrustableAdmin.sol\":{\"keccak256\":\"0x94b69b5a460d1407746ac70d32a0c5d4fca564b16cbd1940b822dd0ecb5336e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a773b9d963647a5591b95c8fb359efd461dc494d1e3a1754cc83343310e07605\",\"dweb:/ipfs/QmU77Zre43r5sVj4DK2FjTda31zWgNDr9sGPug1dRv4ih6\"]},\"project:/contracts/interfaces/IWitOracleTrustless.sol\":{\"keccak256\":\"0x9220a2dd4736b37d909af59603b3d125758deb5d1845650aaa7c92cabd75f75b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d224d9c72e077605427b87c1fa1b47de53b1835dd148a27c13e9eb5a620e6d\",\"dweb:/ipfs/Qmaz8y5E4c73Zw4y4Siy2J3oNuhw9M7v2s7uC9XLi6dZaw\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/patterns/Escrowable.sol\":{\"keccak256\":\"0xf0fdb82142f66323a1d419839ddcf67b51ac2faa418a2b364e0b2e4b5fdfbc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5123dc63b3d2f501eec6b9616db46833c155c1dca416bb58dbeb924558f8020\",\"dweb:/ipfs/QmakA3u4rqWpzeiKkUZxhnQotReaybCCDMkkJZFHyZVb1U\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x29ce79b9329cc854ddb0ee546e5a17f3cedafa91c7d614f43e8d6537680b1734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00d5ce85f66c3c32b8b69bfed2f07f40d14ac72c2f67d2de6601de0be16b5af1\",\"dweb:/ipfs/QmZogwLRBjFUJVSzR8YuMfo3mKg8WvYVbn2QvWXsCVP92V\"]}},\"version\":1}",
  "bytecode": "0x613f56610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061011c575f3560e01c806355caae04116100a9578063adc9772e11610079578063adc9772e146102ee578063bd75eadb1461030d578063c2a672e014610320578063e74f82391461033f578063f308da0f1461035e575f5ffd5b806355caae041461025f578063653ac7bc1461027e57806385783377146102b05780639dc29fac146102cf575f5ffd5b806345ac7f3f116100ef57806345ac7f3f146101b65780634656a450146101ed57806347e7ef241461020057806351cff8d9146102215780635386690814610240575f5ffd5b80631ac07503146101205780633317044f1461014957806334c20ee3146101695780633962372d14610196575b5f5ffd5b61013361012e366004612fee565b61037d565b6040516101409190613166565b60405180910390f35b61015c6101573660046131e8565b6105cd565b6040516101409190613226565b818015610174575f5ffd5b506101886101833660046132c7565b6106ed565b604051908152602001610140565b6101a96101a436600461336c565b610bf0565b604051610140919061339c565b8180156101c1575f5ffd5b506101d56101d03660046133af565b610cca565b6040516001600160481b039091168152602001610140565b6101336101fb36600461336c565b610e67565b81801561020b575f5ffd5b5061021f61021a3660046133ee565b610e8e565b005b81801561022c575f5ffd5b5061018861023b366004613416565b610f09565b81801561024b575f5ffd5b5061018861025a3660046133af565b610f70565b81801561026a575f5ffd5b506101886102793660046133af565b611096565b818015610289575f5ffd5b5061029d61029836600461342f565b611256565b6040516101409796959493929190613478565b8180156102bb575f5ffd5b506101336102ca366004612fee565b6113f6565b8180156102da575f5ffd5b5061021f6102e93660046133ee565b6114b0565b8180156102f9575f5ffd5b5061021f6103083660046133ee565b611596565b6101a961031b36600461336c565b61167f565b81801561032b575f5ffd5b5061021f61033a3660046133ee565b6117e4565b81801561034a575f5ffd5b5061021f6103593660046134de565b611896565b818015610369575f5ffd5b5061015c6103783660046131e8565b61199f565b610385612e49565b6020860135158015906103a557505f6103a160c0880188613518565b9050115b80156103ce57506103cc6103bf60c0880160a0890161356e565b6001600160401b03161590565b155b80156103da5750853515155b80156103fb57506103fb6103f6368890038801604089016135f8565b611ad8565b6104435760405162461bcd60e51b81526020600482015260146024820152731a5b9d985b1a59081c5d595c9e481c995c1bdc9d60621b60448201526064015b60405180910390fd5b5f61044e86866105cd565b905061046861046360c0890160a08a0161356e565b611b13565b610473906001613679565b6001600160401b0316815f015163ffffffff1610156104cd5760405162461bcd60e51b815260206004820152601660248201527536b4b9b632b0b234b733903432b0b2103132b0b1b7b760511b604482015260640161043a565b6104e084846104db8a611b20565b611ba9565b60808201516001600160801b031916146105335760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015260640161043a565b6040805160c080820183525f80835260208301526105c29282019061055d908b0160a08c0161356e565b6001600160401b031681528935602082015260400161057f60c08b018b613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250938552505050602090910152600343611be8565b979650505050505050565b6105d5612e89565b61066f83835f8181106105ea576105ea613698565b90506020028101906105fc91906136ac565b7ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1015f8686828161062e5761062e613698565b905060200281019061064091906136ac565b61064e9060208101906136de565b63ffffffff1681526020019081526020015f20611e7d90919063ffffffff16565b6106ca5760405162461bcd60e51b815260206004820152602660248201527f666173742d666f7277617264696e672066726f6d20756e6d61746368696e67206044820152653132b0b1b7b760d11b606482015260840161043a565b6106d48383611eae565b8036038101906106e49190613726565b90505b92915050565b5f8061070d6106ff602089018961356e565b6001600160401b03166120d0565b90505f5f61071b838a6120ff565b9150915081819061073f5760405162461bcd60e51b815260040161043a91906137e4565b505f61074b8c8c61199f565b905061076561076060808c0160608d0161356e565b612217565b610770906001613679565b6001600160401b0316815f015163ffffffff16146107c95760405162461bcd60e51b815260206004820152601660248201527536b4b9b632b0b234b733903432b0b2103132b0b1b7b760511b604482015260640161043a565b6107d789896104db8d612223565b60608201516001600160801b0319161461082a5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015260640161043a565b5f6108358589610bf0565b9050600281600681111561084b5761084b613089565b036109ed576005850154600486015461087390600160c01b90046001600160401b0316612279565b6040516108899291906006890190602001613828565b60408051601f19818403018152919052805160209091012060a08c01356108b660808e0160608f0161356e565b6108c360808f018f613518565b6040516020016108d694939291906138ee565b60405160208183030381529060405280519060200120036109325760405162461bcd60e51b81526020600482015260166024820152751c1c9bdd9a5b99c81b9bc819985ad9481c995c1bdc9d60521b604482015260640161043a565b600485015461094b906001600160a01b03163389611896565b600985015461096b903390600160781b90046001600160481b0316610e8e565b6004850180546001600160a01b0319163317905561098c60808c018c613518565b600687019161099c91908361396c565b5060a08b013560058601556109bf6109ba60808d0160608e0161356e565b6122da565b6004860180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055610b93565b6006816006811115610a0157610a01613089565b03610b545760058501546004860154610a2990600160c01b90046001600160401b0316612279565b604051610a3f9291906006890190602001613828565b60408051601f19818403018152919052805160209091012060a08c0135610a6c60808e0160608f0161356e565b610a7960808f018f613518565b604051602001610a8c94939291906138ee565b6040516020818303038152906040528051906020012014610aef5760405162461bcd60e51b815260206004820152601c60248201527f70726f76696e672064697370757465642066616b65207265706f727400000000604482015260640161043a565b60078501546004860154610b10916001600160a01b03908116911689611896565b60048501546009860154610b3d916001600160a01b031690600160781b90046001600160481b0316610e8e565b6007850180546001600160a01b0319169055610b93565b610b5d816122f0565b604051602001610b6d9190613a3c565b60408051601f198184030181529082905262461bcd60e51b825261043a916004016137e4565b6009850154610bb3908890600160781b90046001600160481b0316613a66565b60099590950180546effffffffffffffffffffffffffffff16600160c01b436001600160401b03160217905550929b9a5050505050505050505050565b60048201545f90600160c01b90046001600160401b031615610c52576009830154600160c01b90046001600160401b03164310610c4a5760078301546001600160a01b031615610c42575060066106e7565b5060036106e7565b5060026106e7565b6009830154600160c01b90046001600160401b03165f819003610c78575f9150506106e7565b610c83836002613a79565b610c8d9082613a66565b431115610c9e5760059150506106e7565b610ca88382613a66565b431115610cb95760049150506106e7565b60019150506106e7565b5092915050565b5f5f610cd5856120d0565b80549091506001600160a01b03163314610d015760405162461bcd60e51b815260040161043a90613a90565b6009810154600160781b90046001600160481b031691505f610d238286610bf0565b90506005816006811115610d3957610d39613089565b03610d9e576001600160481b03831615610d995760078201546001600160a01b031615610d995760048201546007830154610d81916001600160a01b03908116911686611896565b6007820154610d99906001600160a01b0316856117e4565b610dc0565b6003816006811115610db257610db2613089565b14610dc057610b5d816122f0565b5f8681527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e18460205260408120818155908181610dff6001830182612ebf565b505f600282018190556003909101819055600483018181556005840182905590610e2c6006850182612ebf565b5060030180546001600160a01b0319169055506008810180546bffffffffffffffffffffffff191690555f6009909101555090949350505050565b610e6f612e49565b5f610e7a8484610bf0565b9050610e868482612480565b949350505050565b6001600160a01b0382165f9081525f516020613f015f395f51905f52602052604081208054839290610ec1908490613a66565b90915550506040518181526001600160a01b038316907f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874906020015b60405180910390a25050565b6001600160a01b0381165f8181525f516020613f015f395f51905f5260209081526040808320805493815590518381529293909290917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5910160405180910390a250919050565b5f5f610f7b856120d0565b90506002610f898286610bf0565b6006811115610f9a57610f9a613089565b14610fe05760405162461bcd60e51b81526020600482015260166024820152756e6f7420696e205265706f727465642073746174757360501b604482015260640161043a565b610fea3384611596565b610ff48443613a66565b6009820180546001600160c01b0316600160c01b6001600160401b0393841602179055600782018054336001600160a01b0319909116811790915560408051928816835260208301919091527f0c659cb9cb62e341db66980f799f14edbc937a08725319a4cd26d77b077e3b7d910160405180910390a1600981015461108b908490600160781b90046001600160481b0316613a66565b9150505b9392505050565b5f5f6110a1856120d0565b60098101805468ffffffffffffffffff60781b198116909155600160781b90046001600160481b0316925090508161110d5760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015260640161043a565b6111173383610e8e565b5f6111228286610bf0565b9050600381600681111561113857611138613089565b036111755781546001600160a01b031633146111665760405162461bcd60e51b815260040161043a90613a90565b61117033856117e4565b61124d565b600581600681111561118957611189613089565b03610b545760078201546001600160a01b0316156112245760078201546001600160a01b031633146111f05760405162461bcd60e51b815260206004820152601060248201526f3737ba103a3432903234b9b83aba32b960811b604482015260640161043a565b6004820154611209906001600160a01b03163386611896565b61121333856117e4565b61121d8484613a66565b925061124d565b81546001600160a01b031633146111705760405162461bcd60e51b815260040161043a90613a90565b50509392505050565b5f808080808060608161126f6106ff60208d018d61356e565b90505f5f61127d838e6120ff565b915091508181906112a15760405162461bcd60e51b815260040161043a91906137e4565b505f6112ad848e610bf0565b905060018160068111156112c3576112c3613089565b03611330576112d18e6125a1565b9a506001600160a01b038b16331461132b5760405162461bcd60e51b815260206004820152601b60248201527f756e617574686f72697a6564207175657279207265706f727465720000000000604482015260640161043a565b61134d565b600481600681111561134457611344613089565b03610b5457339a505b611357338d611596565b3a99506113648d43613a66565b985061137360208f018f61356e565b975061138b8e60600160208101906109ba919061356e565b965060a08e013595506113a160808f018f613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509450505050509397509397509397909450565b6113fe612e49565b60208601351580159061141e57505f61141a60c0880188613518565b9050115b801561143a57506114386103bf60c0880160a0890161356e565b155b80156114465750853515155b801561146257506114626103f6368890038801604089016135f8565b6114a55760405162461bcd60e51b81526020600482015260146024820152731a5b9d985b1a59081c5d595c9e481c995c1bdc9d60621b604482015260640161043a565b5f61044e868661199f565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020548111156115235760405162461bcd60e51b815260206004820181905260248201527f457363726f7761626c653a20696e73756666696369656e742062616c616e6365604482015260640161043a565b6001600160a01b0382165f9081525f516020613f015f395f51905f52602052604081208054839290611556908490613abb565b90915550506040518181526001600160a01b038316907f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b190602001610efd565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020805482111561160a5760405162461bcd60e51b815260206004820181905260248201527f457363726f7761626c653a20696e73756666696369656e742062616c616e6365604482015260640161043a565b81815f015f82825461161c9190613abb565b9250508190555081816001015f8282546116369190613a66565b90915550506040518281526001600160a01b038416907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d906020015b60405180910390a2505050565b5f5f61168b8484610bf0565b905060038160068111156116a1576116a1613089565b03611738576006840180545f9082906116b9906137f6565b9050111561172d578054601b60fb1b9082905f906116d6906137f6565b81106116e4576116e4613698565b81546001161561170157905f5260205f2090602091828204019190065b9054901a600160f81b026001600160f81b03191614611721576002611724565b60035b925050506106e7565b6005925050506106e7565b600281600681111561174c5761174c613089565b0361175b5760049150506106e7565b600181600681111561176f5761176f613089565b148061178c5750600481600681111561178a5761178a613089565b145b1561179b5760019150506106e7565b60058160068111156117af576117af613089565b14806117cc575060068160068111156117ca576117ca613089565b145b156117db5760069150506106e7565b5f9150506106e7565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020600181015482111561182b5760405162461bcd60e51b815260040161043a90613ace565b81816001015f82825461183e9190613abb565b90915550508054829082905f90611856908490613a66565b90915550506040518281526001600160a01b038416907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f7590602001611672565b6001600160a01b038381165f9081525f516020613f015f395f51905f5260205260408082209285168252902060018201548311156118e65760405162461bcd60e51b815260040161043a90613ace565b82815f015f8282546118f89190613a66565b9250508190555082826001015f8282546119129190613abb565b90915550506040518381526001600160a01b038616907f4ed05e9673c26d2ed44f7ef6a7f2942df0ee3b5e1e17db4b99f9dcd261a339cd9060200160405180910390a2836001600160a01b03167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258748460405161199091815260200190565b60405180910390a25050505050565b6119a7612e89565b6119b183836105cd565b9050807ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e100825163ffffffff9081165f9081526001928301602090815260409182902085518154928701518785015190941c600160401b026001600160401b039486166401000000000267ffffffffffffffff19909416919095161791909117919091169190911781556060830151608080850151811c600160801b0291901c179181019190915560a0820151611a6d9060028301906004612ef9565b5050815163ffffffff167ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e10055506040517fa6c87e90e325ce88c911f114881deb39dabb89e1ba9bf11a1a8e0ca8de94798a90611aca908390613226565b60405180910390a192915050565b5f5f826020015161ffff16118015611af95750607f826020015161ffff1611155b80156106e7575050604001516001600160401b0316151590565b5f6106e761076083612279565b5f81356020830135611b386060850160408601613b11565b611b486080860160608701613b11565b611b5860a087016080880161356e565b611b6860c0880160a0890161356e565b611b7560c0890189613518565b604051602001611b8c989796959493929190613b2a565b604051602081830303815290604052805190602001209050919050565b805f5b83811015611be057611bd682868684818110611bca57611bca613698565b90506020020135612604565b9150600101611bac565b509392505050565b611bf0612e49565b60608401516040820152602084015163ffffffff1615611c415760408401805160208087015191811b67ffffffff000000001663ffffffff928316176060850152915190911c166080820152611c5d565b6001600160401b03808316606083015260408501511660808201525b60808401515115611cb257611c758460800151612630565b60a08201819052611c8590612654565b81602001906013811115611c9b57611c9b613089565b90816013811115611cae57611cae613089565b9052505b6003836006811115611cc657611cc6613089565b03611dd55760808401515115611dcd5760808401518051601b60fb1b91905f90611cf257611cf2613698565b01602001516001600160f81b03191603611dcd57600181602001516013811115611d1e57611d1e613089565b148015611d4b575060a08101518051606090910151600191611d3f91612716565b6001600160401b031610155b15611dc4576004611d5f8260a00151612654565b6013811115611d7057611d70613089565b03611dc457611d828160a001516127dd565b60070b60ff811115611d9657611d96613089565b819060ff811115611da957611da9613089565b908160ff811115611dbc57611dbc613089565b90525061108f565b60ff8181611dbc565b5f8181611dbc565b6002836006811115611de957611de9613089565b03611df6578060f1611da9565b6001836006811115611e0a57611e0a613089565b1480611e2757506004836006811115611e2557611e25613089565b145b15611e34578060f0611da9565b6005836006811115611e4857611e48613089565b1480611e6557506006836006811115611e6357611e63613089565b145b15611e72578060f9611da9565b60ff81529392505050565b5f611e878261284c565b67ffffffffffffffff1916611e9b846128b3565b67ffffffffffffffff1916149392505050565b3660015b828110156120a1578383611ec7600184613abb565b818110611ed657611ed6613698565b9050602002810190611ee891906136ac565b611ef69060208101906136de565b63ffffffff16848483818110611f0e57611f0e613698565b9050602002810190611f2091906136ac565b611f319060408101906020016136de565b63ffffffff16148015611fc25750611f758484611f4f600185613abb565b818110611f5e57611f5e613698565b9050602002810190611f7091906136ac565b61284c565b67ffffffffffffffff1916848483818110611f9257611f92613698565b9050602002810190611fa491906136ac565b611fb5906060810190604001613b89565b67ffffffffffffffff1916145b611fcb82612901565b604051602001611fdb9190613ba2565b604051602081830303815290604052906120085760405162461bcd60e51b815260040161043a91906137e4565b5061201560036040613bfa565b63ffffffff1684848381811061202d5761202d613698565b905060200281019061203f91906136ac565b61204e90610160810190613c21565b9050111561205b82612901565b60405160200161206b9190613c66565b604051602081830303815290604052906120985760405162461bcd60e51b815260040161043a91906137e4565b50600101611eb2565b5082826120af600182613abb565b8181106120be576120be613698565b90506020028101906106e491906136ac565b5f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1846020526040902090565b60098201545f9060609060881b6001600160881b0319166121266040850160208601613caf565b6001600160881b031916146121675750506040805180820190915260128152710d2dcecc2d8d2c840e2eacae4f240d0c2e6d60731b60208201525f90612210565b61217a6103bf608085016060860161356e565b156121b35750506040805180820190915260148152730d2dcecc2d8d2c840e4cae6ead8e840cae0dec6d60631b60208201525f90612210565b6121c06080840184613518565b90505f036121fc5750506040805180820190915260148152731a5b9d985b1a5908195b5c1d1e481c995cdd5b1d60621b60208201525f90612210565b5050604080515f8152602081019091526001905b9250929050565b5f6106e7600a83613cd6565b5f6122346040830160208401613caf565b6122416040840184613518565b60a0850135612256608087016060880161356e565b6122636080880188613518565b604051602001611b8c9796959493929190613d03565b5f6001600160401b038216156122a95760146122955f84613d58565b61229f9190613cd6565b6106e7905f613679565b6001600160401b038216156122ce57602d6122c45f84613d58565b6106e79190613cd6565b505f919050565b919050565b5f6122e55f83613d58565b61229f906014613d77565b6060600182600681111561230657612306613089565b0361232d575050604080518082019091526006815265141bdcdd195960d21b602082015290565b600282600681111561234157612341613089565b0361236a57505060408051808201909152600881526714995c1bdc9d195960c21b602082015290565b600382600681111561237e5761237e613089565b036123a8575050604080518082019091526009815268119a5b985b1a5e995960ba1b602082015290565b60048260068111156123bc576123bc613089565b036123e457505060408051808201909152600781526611195b185e595960ca1b602082015290565b60058260068111156123f8576123f8613089565b03612420575050604080518082019091526007815266115e1c1a5c995960ca1b602082015290565b600682600681111561243457612434613089565b0361245d575050604080518082019091526008815267111a5cdc1d5d195960c21b602082015290565b50506040805180820190915260078152662ab735b737bbb760c91b602082015290565b612488612e49565b6040805160c0810182526004850180546001600160a01b0381168352600160a01b810463ffffffff166020840152600160c01b90046001600160401b031692820192909252600585015460608201526006850180546106e4939160808401916124f0906137f6565b80601f016020809104026020016040519081016040528092919081815260200182805461251c906137f6565b80156125675780601f1061253e57610100808354040283529160200191612567565b820191905f5260205f20905b81548152906001019060200180831161254a57829003601f168201915b5050509183525050600391909101546001600160a01b031660209091015260098501548490600160c01b90046001600160401b0316611be8565b5f6106e76125b26040840184613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506125ff92506125fa9150506040860160208701613caf565b612a55565b612a71565b5f81831061261e575f8281526020849052604090206106e4565b5f8381526020839052604090206106e4565b612638612f37565b604080518082019091528281525f602082015261108f81612b53565b5f6126688251805151602090910151101590565b6122d5576006826040015160ff16116126b05760408201516502020183808360d11b9060ff166007811061269e5761269e613698565b1a60138111156106e7576106e7613089565b816040015160ff166007036122d557816060015160ff16601414806126dc5750816060015160ff166015145b156126e957506002919050565b6019826060015160ff16101580156127095750601b826060015160ff1611155b156122d557506005919050565b5f60188260ff16101561272d575060ff81166106e7565b8160ff1660180361274b5761274183612c73565b60ff1690506106e7565b8160ff1660190361276a5761275f83612cd3565b61ffff1690506106e7565b8160ff16601a0361278b5761277e83612d3e565b63ffffffff1690506106e7565b8160ff16601b036127a65761279f83612d9c565b90506106e7565b8160ff16601f036127bf57506001600160401b036106e7565b604051636d785b1360e01b815260ff8316600482015260240161043a565b5f816040015160ff1660010361280c575f6127ff835f01518460600151612716565b905061108f815f19613d99565b816040015160ff165f03612823576106e782612dfa565b604080830151905161800560e51b815260ff90911660048201526001602482015260440161043a565b5f61285a60208301836136de565b61286a60408401602085016136de565b61287a6060850160408601613b89565b61288a6080860160608701613dc8565b61289a60a0870160808801613dc8565b8660a001604051602001611b8c96959493929190613de1565b80546001820154604080515f93611b8c9363ffffffff80831694640100000000840490911693600160401b909304901b91608082811b92600160801b9004901b906002890190602001613e36565b60408051606480825260a08201909252606091905f90826020820181803683370190505090505f5b5f612935600a87613ea9565b9050612942600a87613ebc565b955061294f816030613ecf565b60f81b838361295d81613ee8565b94508151811061296f5761296f613698565b60200101906001600160f81b03191690815f1a90535050845f03612929575f816001600160401b038111156129a6576129a6613589565b6040519080825280601f01601f1916602001820160405280156129d0576020820181803683370190505b50905060015b828111612a4b57836129e88285613abb565b815181106129f8576129f8613698565b01602001516001600160f81b03191682612a13600184613abb565b81518110612a2357612a23613698565b60200101906001600160f81b03191690815f1a90535080612a4381613ee8565b9150506129d6565b5095945050505050565b604080516001600160881b0319831660208201525f9101611b8c565b5f8251604114612a8257505f6106e7565b6020830151604084015160608501515f1a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612ac6575f93505050506106e7565b8060ff16601b14158015612ade57508060ff16601c14155b15612aee575f93505050506106e7565b604080515f81526020810180835287905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015612b3e573d5f5f3e3d5ffd5b5050604051601f190151979650505050505050565b612b5b612f37565b81515182905f03612b7f576040516309036d4760e21b815260040160405180910390fd5b5f60ff816001600160401b038160015b8015612c0057612b9e89612c73565b955081612baa81613ee8565b6007600589901c169650601f881695509250506005198501612bf9576020890151612bd58a86612716565b9350808a60200151612be79190613abb565b612bf19084613a66565b925050612b8f565b505f612b8f565b600760ff86161115612c2a5760405163bd2ac87960e01b815260ff8616600482015260240161043a565b506040805160c08101825289815260ff9687166020820152948616908501529190931660608301526001600160401b03908116608083015290911660a082015291505b50919050565b5f8160200151825f01515180821115612ca9576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051808301600101519550908190612cc682613ee8565b8152505050505050919050565b5f81602001516002612ce59190613a66565b82515180821115612d13576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600281840181015196509091612d318284613a66565b9052509395945050505050565b5f81602001516004612d509190613a66565b82515180821115612d7e576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600481840181015196509091612d318284613a66565b5f81602001516008612dae9190613a66565b82515180821115612ddc576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600881840181015196509091612d318284613a66565b5f815f8060ff16826040015160ff1614612e3857604080830151905161800560e51b815260ff9182166004820152908216602482015260440161043a565b610e86845f01518560600151612716565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001612e84612f37565b905290565b6040805160c0810182525f8082526020820181905291810182905260608101829052608081019190915260a08101612e84612f7c565b508054612ecb906137f6565b5f825580601f10612eda575050565b601f0160209004905f5260205f2090810190612ef69190612f9a565b50565b8260048101928215612f27579160200282015b82811115612f27578251825591602001919060010190612f0c565b50612f33929150612f9a565b5090565b604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405180608001604052806004906020820280368337509192915050565b5b80821115612f33575f8155600101612f9b565b5f5f83601f840112612fbe575f5ffd5b5081356001600160401b03811115612fd4575f5ffd5b6020830191508360208260051b8501011115612210575f5ffd5b5f5f5f5f5f60608688031215613002575f5ffd5b85356001600160401b03811115613017575f5ffd5b860160e08189031215613028575f5ffd5b945060208601356001600160401b03811115613042575f5ffd5b61304e88828901612fae565b90955093505060408601356001600160401b0381111561306c575f5ffd5b61307888828901612fae565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f815160c084528051604060c08601526130e961010086018261309d565b9050602082015160e086015260ff602085015116602086015260408401519150613118604086018360ff169052565b6060840151915061312e606086018360ff169052565b6080840151915061314a60808601836001600160401b03169052565b60a08401519150610e8660a08601836001600160401b03169052565b602081525f8251610100811061317e5761317e613089565b8060208401525060208301516014811061319a5761319a613089565b80604084015250604083015160608301526060830151608083015260808301516131cf60a08401826001600160401b03169052565b5060a083015160c080840152610e8660e08401826130cb565b5f5f602083850312156131f9575f5ffd5b82356001600160401b0381111561320e575f5ffd5b61321a85828601612fae565b90969095509350505050565b5f6101208201905063ffffffff835116825263ffffffff60208401511660208301526001600160401b031960408401511660408301526001600160801b031960608401511660608301526001600160801b0319608084015116608083015260a083015160a083015f5b60048110156132ae57825182526020928301929091019060010161328f565b50505092915050565b5f60c08284031215612c6d575f5ffd5b5f5f5f5f5f5f5f60a0888a0312156132dd575f5ffd5b87356001600160401b038111156132f2575f5ffd5b6132fe8a828b01612fae565b90985096505060208801356001600160401b0381111561331c575f5ffd5b6133288a828b016132b7565b95505060408801356001600160401b03811115613343575f5ffd5b61334f8a828b01612fae565b989b979a5095989597966060870135966080013595509350505050565b5f5f6040838503121561337d575f5ffd5b50508035926020909101359150565b60078110612ef657612ef6613089565b602081016133a98361338c565b91905290565b5f5f5f606084860312156133c1575f5ffd5b505081359360208301359350604090920135919050565b80356001600160a01b03811681146122d5575f5ffd5b5f5f604083850312156133ff575f5ffd5b613408836133d8565b946020939093013593505050565b5f60208284031215613426575f5ffd5b6106e4826133d8565b5f5f5f60608486031215613441575f5ffd5b83356001600160401b03811115613456575f5ffd5b613462868287016132b7565b9660208601359650604090950135949350505050565b60018060a01b03881681528660208201526001600160401b03861660408201526001600160401b03851660608201526001600160401b03841660808201528260a082015260e060c08201525f6134d160e083018461309d565b9998505050505050505050565b5f5f5f606084860312156134f0575f5ffd5b6134f9846133d8565b9250613507602085016133d8565b929592945050506040919091013590565b5f5f8335601e1984360301811261352d575f5ffd5b8301803591506001600160401b03821115613546575f5ffd5b602001915036819003821315612210575f5ffd5b6001600160401b0381168114612ef6575f5ffd5b5f6020828403121561357e575f5ffd5b813561108f8161355a565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156135bf576135bf613589565b60405290565b604051608081016001600160401b03811182821017156135bf576135bf613589565b803561ffff811681146122d5575f5ffd5b5f6060828403128015613609575f5ffd5b50604051606081016001600160401b038111828210171561362c5761362c613589565b604052613638836135e7565b8152613646602084016135e7565b602082015260408301356136598161355a565b60408201529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156106e7576106e7613665565b634e487b7160e01b5f52603260045260245ffd5b5f823561017e198336030181126136c1575f5ffd5b9190910192915050565b803563ffffffff811681146122d5575f5ffd5b5f602082840312156136ee575f5ffd5b6106e4826136cb565b803567ffffffffffffffff19811681146122d5575f5ffd5b80356001600160801b0319811681146122d5575f5ffd5b5f610120828403128015613738575f5ffd5b5061374161359d565b61374a836136cb565b8152613758602084016136cb565b6020820152613769604084016136f7565b604082015261377a6060840161370f565b606082015261378b6080840161370f565b60808201528360bf84011261379e575f5ffd5b6137a66135c5565b806101208501868111156137b8575f5ffd5b60a086015b818110156137d55780358452602093840193016137bd565b505060a0830152509392505050565b602081525f6106e4602083018461309d565b600181811c9082168061380a57607f821691505b602082108103612c6d57634e487b7160e01b5f52602260045260245ffd5b8381526001600160401b0383166020820152606060408201525f5f835461384e816137f6565b806060860152600182165f811461386c5760018114613888576138b9565b60ff1983166080870152608082151560051b87010193506138b9565b865f5260205f205f5b838110156138b057815488820160800152600190910190602001613891565b87016080019450505b5091979650505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8481526001600160401b0384166020820152606060408201525f6139166060830184866138c6565b9695505050505050565b601f82111561396757805f5260205f20601f840160051c810160208510156139455750805b601f840160051c820191505b81811015613964575f8155600101613951565b50505b505050565b6001600160401b0383111561398357613983613589565b6139978361399183546137f6565b83613920565b5f601f8411600181146139c8575f85156139b15750838201355b5f19600387901b1c1916600186901b178355613964565b5f83815260208120601f198716915b828110156139f757868501358255602094850194600190920191016139d7565b5086821015613a13575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f81518060208401855e5f93019283525090919050565b75034b73b30b634b21038bab2b93c9039ba30ba3ab99d160551b81525f6106e46016830184613a25565b808201808211156106e7576106e7613665565b80820281158282048414176106e7576106e7613665565b6020808252601190820152703737ba103a3432903932b8bab2b9ba32b960791b604082015260600190565b818103818111156106e7576106e7613665565b60208082526023908201527f457363726f7761626c653a20696e73756666696369656e7420636f6c6c6174656040820152621c985b60ea1b606082015260800190565b5f60208284031215613b21575f5ffd5b6106e4826135e7565b88815287602082015261ffff8716604082015261ffff861660608201526001600160401b03851660808201526001600160401b03841660a082015260e060c08201525f613b7b60e0830184866138c6565b9a9950505050505050505050565b5f60208284031215613b99575f5ffd5b6106e4826136f7565b7f6d69736d61746368696e6720626561636f6e73206f6e20666173742d666f72778152696172642073746570202360b01b60208201525f6106e4602a830184613a25565b634e487b7160e01b5f52601260045260245ffd5b5f63ffffffff831680613c0f57613c0f613be6565b8063ffffffff84160491505092915050565b5f5f8335601e19843603018112613c36575f5ffd5b8301803591506001600160401b03821115613c4f575f5ffd5b6020019150600781901b3603821315612210575f5ffd5b7f746f6f206d616e79206d697373696e67207075626b657973206f6e206661737481526e2d666f72776172642073746570202360881b60208201525f6106e4602f830184613a25565b5f60208284031215613cbf575f5ffd5b81356001600160881b03198116811461108f575f5ffd5b5f6001600160401b03831680613cee57613cee613be6565b806001600160401b0384160491505092915050565b70ffffffffffffffffffffffffffffffffff198816815260a060208201525f613d3060a08301888a6138c6565b8660408401526001600160401b03861660608401528281036080840152613b7b8185876138c6565b6001600160401b0382811682821603908111156106e7576106e7613665565b6001600160401b038181168382160290811690818114610cc357610cc3613665565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff821317156106e7576106e7613665565b5f60208284031215613dd8575f5ffd5b6106e48261370f565b63ffffffff87811682528616602082015267ffffffffffffffff19851660408201526001600160801b0319848116606083015283166080808301919091526101208201908360a0840137979650505050505050565b63ffffffff87811682528616602082015267ffffffffffffffff19851660408201526001600160801b0319848116606083015283166080820152610120810160a08201835f5b6004811015613e9b578154835260209092019160019182019101613e7c565b505050979650505050505050565b5f82613eb757613eb7613be6565b500690565b5f82613eca57613eca613be6565b500490565b60ff81811683821601908111156106e7576106e7613665565b5f60018201613ef957613ef9613665565b506001019056fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e102a2646970667358221220dda0b4b9dd7d47739f7309f2e0aed8896b74a8607664ae42df22a6908f953a4b64736f6c634300081e0033",
  "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061011c575f3560e01c806355caae04116100a9578063adc9772e11610079578063adc9772e146102ee578063bd75eadb1461030d578063c2a672e014610320578063e74f82391461033f578063f308da0f1461035e575f5ffd5b806355caae041461025f578063653ac7bc1461027e57806385783377146102b05780639dc29fac146102cf575f5ffd5b806345ac7f3f116100ef57806345ac7f3f146101b65780634656a450146101ed57806347e7ef241461020057806351cff8d9146102215780635386690814610240575f5ffd5b80631ac07503146101205780633317044f1461014957806334c20ee3146101695780633962372d14610196575b5f5ffd5b61013361012e366004612fee565b61037d565b6040516101409190613166565b60405180910390f35b61015c6101573660046131e8565b6105cd565b6040516101409190613226565b818015610174575f5ffd5b506101886101833660046132c7565b6106ed565b604051908152602001610140565b6101a96101a436600461336c565b610bf0565b604051610140919061339c565b8180156101c1575f5ffd5b506101d56101d03660046133af565b610cca565b6040516001600160481b039091168152602001610140565b6101336101fb36600461336c565b610e67565b81801561020b575f5ffd5b5061021f61021a3660046133ee565b610e8e565b005b81801561022c575f5ffd5b5061018861023b366004613416565b610f09565b81801561024b575f5ffd5b5061018861025a3660046133af565b610f70565b81801561026a575f5ffd5b506101886102793660046133af565b611096565b818015610289575f5ffd5b5061029d61029836600461342f565b611256565b6040516101409796959493929190613478565b8180156102bb575f5ffd5b506101336102ca366004612fee565b6113f6565b8180156102da575f5ffd5b5061021f6102e93660046133ee565b6114b0565b8180156102f9575f5ffd5b5061021f6103083660046133ee565b611596565b6101a961031b36600461336c565b61167f565b81801561032b575f5ffd5b5061021f61033a3660046133ee565b6117e4565b81801561034a575f5ffd5b5061021f6103593660046134de565b611896565b818015610369575f5ffd5b5061015c6103783660046131e8565b61199f565b610385612e49565b6020860135158015906103a557505f6103a160c0880188613518565b9050115b80156103ce57506103cc6103bf60c0880160a0890161356e565b6001600160401b03161590565b155b80156103da5750853515155b80156103fb57506103fb6103f6368890038801604089016135f8565b611ad8565b6104435760405162461bcd60e51b81526020600482015260146024820152731a5b9d985b1a59081c5d595c9e481c995c1bdc9d60621b60448201526064015b60405180910390fd5b5f61044e86866105cd565b905061046861046360c0890160a08a0161356e565b611b13565b610473906001613679565b6001600160401b0316815f015163ffffffff1610156104cd5760405162461bcd60e51b815260206004820152601660248201527536b4b9b632b0b234b733903432b0b2103132b0b1b7b760511b604482015260640161043a565b6104e084846104db8a611b20565b611ba9565b60808201516001600160801b031916146105335760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015260640161043a565b6040805160c080820183525f80835260208301526105c29282019061055d908b0160a08c0161356e565b6001600160401b031681528935602082015260400161057f60c08b018b613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250938552505050602090910152600343611be8565b979650505050505050565b6105d5612e89565b61066f83835f8181106105ea576105ea613698565b90506020028101906105fc91906136ac565b7ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1015f8686828161062e5761062e613698565b905060200281019061064091906136ac565b61064e9060208101906136de565b63ffffffff1681526020019081526020015f20611e7d90919063ffffffff16565b6106ca5760405162461bcd60e51b815260206004820152602660248201527f666173742d666f7277617264696e672066726f6d20756e6d61746368696e67206044820152653132b0b1b7b760d11b606482015260840161043a565b6106d48383611eae565b8036038101906106e49190613726565b90505b92915050565b5f8061070d6106ff602089018961356e565b6001600160401b03166120d0565b90505f5f61071b838a6120ff565b9150915081819061073f5760405162461bcd60e51b815260040161043a91906137e4565b505f61074b8c8c61199f565b905061076561076060808c0160608d0161356e565b612217565b610770906001613679565b6001600160401b0316815f015163ffffffff16146107c95760405162461bcd60e51b815260206004820152601660248201527536b4b9b632b0b234b733903432b0b2103132b0b1b7b760511b604482015260640161043a565b6107d789896104db8d612223565b60608201516001600160801b0319161461082a5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015260640161043a565b5f6108358589610bf0565b9050600281600681111561084b5761084b613089565b036109ed576005850154600486015461087390600160c01b90046001600160401b0316612279565b6040516108899291906006890190602001613828565b60408051601f19818403018152919052805160209091012060a08c01356108b660808e0160608f0161356e565b6108c360808f018f613518565b6040516020016108d694939291906138ee565b60405160208183030381529060405280519060200120036109325760405162461bcd60e51b81526020600482015260166024820152751c1c9bdd9a5b99c81b9bc819985ad9481c995c1bdc9d60521b604482015260640161043a565b600485015461094b906001600160a01b03163389611896565b600985015461096b903390600160781b90046001600160481b0316610e8e565b6004850180546001600160a01b0319163317905561098c60808c018c613518565b600687019161099c91908361396c565b5060a08b013560058601556109bf6109ba60808d0160608e0161356e565b6122da565b6004860180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055610b93565b6006816006811115610a0157610a01613089565b03610b545760058501546004860154610a2990600160c01b90046001600160401b0316612279565b604051610a3f9291906006890190602001613828565b60408051601f19818403018152919052805160209091012060a08c0135610a6c60808e0160608f0161356e565b610a7960808f018f613518565b604051602001610a8c94939291906138ee565b6040516020818303038152906040528051906020012014610aef5760405162461bcd60e51b815260206004820152601c60248201527f70726f76696e672064697370757465642066616b65207265706f727400000000604482015260640161043a565b60078501546004860154610b10916001600160a01b03908116911689611896565b60048501546009860154610b3d916001600160a01b031690600160781b90046001600160481b0316610e8e565b6007850180546001600160a01b0319169055610b93565b610b5d816122f0565b604051602001610b6d9190613a3c565b60408051601f198184030181529082905262461bcd60e51b825261043a916004016137e4565b6009850154610bb3908890600160781b90046001600160481b0316613a66565b60099590950180546effffffffffffffffffffffffffffff16600160c01b436001600160401b03160217905550929b9a5050505050505050505050565b60048201545f90600160c01b90046001600160401b031615610c52576009830154600160c01b90046001600160401b03164310610c4a5760078301546001600160a01b031615610c42575060066106e7565b5060036106e7565b5060026106e7565b6009830154600160c01b90046001600160401b03165f819003610c78575f9150506106e7565b610c83836002613a79565b610c8d9082613a66565b431115610c9e5760059150506106e7565b610ca88382613a66565b431115610cb95760049150506106e7565b60019150506106e7565b5092915050565b5f5f610cd5856120d0565b80549091506001600160a01b03163314610d015760405162461bcd60e51b815260040161043a90613a90565b6009810154600160781b90046001600160481b031691505f610d238286610bf0565b90506005816006811115610d3957610d39613089565b03610d9e576001600160481b03831615610d995760078201546001600160a01b031615610d995760048201546007830154610d81916001600160a01b03908116911686611896565b6007820154610d99906001600160a01b0316856117e4565b610dc0565b6003816006811115610db257610db2613089565b14610dc057610b5d816122f0565b5f8681527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e18460205260408120818155908181610dff6001830182612ebf565b505f600282018190556003909101819055600483018181556005840182905590610e2c6006850182612ebf565b5060030180546001600160a01b0319169055506008810180546bffffffffffffffffffffffff191690555f6009909101555090949350505050565b610e6f612e49565b5f610e7a8484610bf0565b9050610e868482612480565b949350505050565b6001600160a01b0382165f9081525f516020613f015f395f51905f52602052604081208054839290610ec1908490613a66565b90915550506040518181526001600160a01b038316907f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874906020015b60405180910390a25050565b6001600160a01b0381165f8181525f516020613f015f395f51905f5260209081526040808320805493815590518381529293909290917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5910160405180910390a250919050565b5f5f610f7b856120d0565b90506002610f898286610bf0565b6006811115610f9a57610f9a613089565b14610fe05760405162461bcd60e51b81526020600482015260166024820152756e6f7420696e205265706f727465642073746174757360501b604482015260640161043a565b610fea3384611596565b610ff48443613a66565b6009820180546001600160c01b0316600160c01b6001600160401b0393841602179055600782018054336001600160a01b0319909116811790915560408051928816835260208301919091527f0c659cb9cb62e341db66980f799f14edbc937a08725319a4cd26d77b077e3b7d910160405180910390a1600981015461108b908490600160781b90046001600160481b0316613a66565b9150505b9392505050565b5f5f6110a1856120d0565b60098101805468ffffffffffffffffff60781b198116909155600160781b90046001600160481b0316925090508161110d5760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015260640161043a565b6111173383610e8e565b5f6111228286610bf0565b9050600381600681111561113857611138613089565b036111755781546001600160a01b031633146111665760405162461bcd60e51b815260040161043a90613a90565b61117033856117e4565b61124d565b600581600681111561118957611189613089565b03610b545760078201546001600160a01b0316156112245760078201546001600160a01b031633146111f05760405162461bcd60e51b815260206004820152601060248201526f3737ba103a3432903234b9b83aba32b960811b604482015260640161043a565b6004820154611209906001600160a01b03163386611896565b61121333856117e4565b61121d8484613a66565b925061124d565b81546001600160a01b031633146111705760405162461bcd60e51b815260040161043a90613a90565b50509392505050565b5f808080808060608161126f6106ff60208d018d61356e565b90505f5f61127d838e6120ff565b915091508181906112a15760405162461bcd60e51b815260040161043a91906137e4565b505f6112ad848e610bf0565b905060018160068111156112c3576112c3613089565b03611330576112d18e6125a1565b9a506001600160a01b038b16331461132b5760405162461bcd60e51b815260206004820152601b60248201527f756e617574686f72697a6564207175657279207265706f727465720000000000604482015260640161043a565b61134d565b600481600681111561134457611344613089565b03610b5457339a505b611357338d611596565b3a99506113648d43613a66565b985061137360208f018f61356e565b975061138b8e60600160208101906109ba919061356e565b965060a08e013595506113a160808f018f613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509450505050509397509397509397909450565b6113fe612e49565b60208601351580159061141e57505f61141a60c0880188613518565b9050115b801561143a57506114386103bf60c0880160a0890161356e565b155b80156114465750853515155b801561146257506114626103f6368890038801604089016135f8565b6114a55760405162461bcd60e51b81526020600482015260146024820152731a5b9d985b1a59081c5d595c9e481c995c1bdc9d60621b604482015260640161043a565b5f61044e868661199f565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020548111156115235760405162461bcd60e51b815260206004820181905260248201527f457363726f7761626c653a20696e73756666696369656e742062616c616e6365604482015260640161043a565b6001600160a01b0382165f9081525f516020613f015f395f51905f52602052604081208054839290611556908490613abb565b90915550506040518181526001600160a01b038316907f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b190602001610efd565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020805482111561160a5760405162461bcd60e51b815260206004820181905260248201527f457363726f7761626c653a20696e73756666696369656e742062616c616e6365604482015260640161043a565b81815f015f82825461161c9190613abb565b9250508190555081816001015f8282546116369190613a66565b90915550506040518281526001600160a01b038416907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d906020015b60405180910390a2505050565b5f5f61168b8484610bf0565b905060038160068111156116a1576116a1613089565b03611738576006840180545f9082906116b9906137f6565b9050111561172d578054601b60fb1b9082905f906116d6906137f6565b81106116e4576116e4613698565b81546001161561170157905f5260205f2090602091828204019190065b9054901a600160f81b026001600160f81b03191614611721576002611724565b60035b925050506106e7565b6005925050506106e7565b600281600681111561174c5761174c613089565b0361175b5760049150506106e7565b600181600681111561176f5761176f613089565b148061178c5750600481600681111561178a5761178a613089565b145b1561179b5760019150506106e7565b60058160068111156117af576117af613089565b14806117cc575060068160068111156117ca576117ca613089565b145b156117db5760069150506106e7565b5f9150506106e7565b6001600160a01b0382165f9081525f516020613f015f395f51905f5260205260409020600181015482111561182b5760405162461bcd60e51b815260040161043a90613ace565b81816001015f82825461183e9190613abb565b90915550508054829082905f90611856908490613a66565b90915550506040518281526001600160a01b038416907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f7590602001611672565b6001600160a01b038381165f9081525f516020613f015f395f51905f5260205260408082209285168252902060018201548311156118e65760405162461bcd60e51b815260040161043a90613ace565b82815f015f8282546118f89190613a66565b9250508190555082826001015f8282546119129190613abb565b90915550506040518381526001600160a01b038616907f4ed05e9673c26d2ed44f7ef6a7f2942df0ee3b5e1e17db4b99f9dcd261a339cd9060200160405180910390a2836001600160a01b03167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258748460405161199091815260200190565b60405180910390a25050505050565b6119a7612e89565b6119b183836105cd565b9050807ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e100825163ffffffff9081165f9081526001928301602090815260409182902085518154928701518785015190941c600160401b026001600160401b039486166401000000000267ffffffffffffffff19909416919095161791909117919091169190911781556060830151608080850151811c600160801b0291901c179181019190915560a0820151611a6d9060028301906004612ef9565b5050815163ffffffff167ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e10055506040517fa6c87e90e325ce88c911f114881deb39dabb89e1ba9bf11a1a8e0ca8de94798a90611aca908390613226565b60405180910390a192915050565b5f5f826020015161ffff16118015611af95750607f826020015161ffff1611155b80156106e7575050604001516001600160401b0316151590565b5f6106e761076083612279565b5f81356020830135611b386060850160408601613b11565b611b486080860160608701613b11565b611b5860a087016080880161356e565b611b6860c0880160a0890161356e565b611b7560c0890189613518565b604051602001611b8c989796959493929190613b2a565b604051602081830303815290604052805190602001209050919050565b805f5b83811015611be057611bd682868684818110611bca57611bca613698565b90506020020135612604565b9150600101611bac565b509392505050565b611bf0612e49565b60608401516040820152602084015163ffffffff1615611c415760408401805160208087015191811b67ffffffff000000001663ffffffff928316176060850152915190911c166080820152611c5d565b6001600160401b03808316606083015260408501511660808201525b60808401515115611cb257611c758460800151612630565b60a08201819052611c8590612654565b81602001906013811115611c9b57611c9b613089565b90816013811115611cae57611cae613089565b9052505b6003836006811115611cc657611cc6613089565b03611dd55760808401515115611dcd5760808401518051601b60fb1b91905f90611cf257611cf2613698565b01602001516001600160f81b03191603611dcd57600181602001516013811115611d1e57611d1e613089565b148015611d4b575060a08101518051606090910151600191611d3f91612716565b6001600160401b031610155b15611dc4576004611d5f8260a00151612654565b6013811115611d7057611d70613089565b03611dc457611d828160a001516127dd565b60070b60ff811115611d9657611d96613089565b819060ff811115611da957611da9613089565b908160ff811115611dbc57611dbc613089565b90525061108f565b60ff8181611dbc565b5f8181611dbc565b6002836006811115611de957611de9613089565b03611df6578060f1611da9565b6001836006811115611e0a57611e0a613089565b1480611e2757506004836006811115611e2557611e25613089565b145b15611e34578060f0611da9565b6005836006811115611e4857611e48613089565b1480611e6557506006836006811115611e6357611e63613089565b145b15611e72578060f9611da9565b60ff81529392505050565b5f611e878261284c565b67ffffffffffffffff1916611e9b846128b3565b67ffffffffffffffff1916149392505050565b3660015b828110156120a1578383611ec7600184613abb565b818110611ed657611ed6613698565b9050602002810190611ee891906136ac565b611ef69060208101906136de565b63ffffffff16848483818110611f0e57611f0e613698565b9050602002810190611f2091906136ac565b611f319060408101906020016136de565b63ffffffff16148015611fc25750611f758484611f4f600185613abb565b818110611f5e57611f5e613698565b9050602002810190611f7091906136ac565b61284c565b67ffffffffffffffff1916848483818110611f9257611f92613698565b9050602002810190611fa491906136ac565b611fb5906060810190604001613b89565b67ffffffffffffffff1916145b611fcb82612901565b604051602001611fdb9190613ba2565b604051602081830303815290604052906120085760405162461bcd60e51b815260040161043a91906137e4565b5061201560036040613bfa565b63ffffffff1684848381811061202d5761202d613698565b905060200281019061203f91906136ac565b61204e90610160810190613c21565b9050111561205b82612901565b60405160200161206b9190613c66565b604051602081830303815290604052906120985760405162461bcd60e51b815260040161043a91906137e4565b50600101611eb2565b5082826120af600182613abb565b8181106120be576120be613698565b90506020028101906106e491906136ac565b5f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1846020526040902090565b60098201545f9060609060881b6001600160881b0319166121266040850160208601613caf565b6001600160881b031916146121675750506040805180820190915260128152710d2dcecc2d8d2c840e2eacae4f240d0c2e6d60731b60208201525f90612210565b61217a6103bf608085016060860161356e565b156121b35750506040805180820190915260148152730d2dcecc2d8d2c840e4cae6ead8e840cae0dec6d60631b60208201525f90612210565b6121c06080840184613518565b90505f036121fc5750506040805180820190915260148152731a5b9d985b1a5908195b5c1d1e481c995cdd5b1d60621b60208201525f90612210565b5050604080515f8152602081019091526001905b9250929050565b5f6106e7600a83613cd6565b5f6122346040830160208401613caf565b6122416040840184613518565b60a0850135612256608087016060880161356e565b6122636080880188613518565b604051602001611b8c9796959493929190613d03565b5f6001600160401b038216156122a95760146122955f84613d58565b61229f9190613cd6565b6106e7905f613679565b6001600160401b038216156122ce57602d6122c45f84613d58565b6106e79190613cd6565b505f919050565b919050565b5f6122e55f83613d58565b61229f906014613d77565b6060600182600681111561230657612306613089565b0361232d575050604080518082019091526006815265141bdcdd195960d21b602082015290565b600282600681111561234157612341613089565b0361236a57505060408051808201909152600881526714995c1bdc9d195960c21b602082015290565b600382600681111561237e5761237e613089565b036123a8575050604080518082019091526009815268119a5b985b1a5e995960ba1b602082015290565b60048260068111156123bc576123bc613089565b036123e457505060408051808201909152600781526611195b185e595960ca1b602082015290565b60058260068111156123f8576123f8613089565b03612420575050604080518082019091526007815266115e1c1a5c995960ca1b602082015290565b600682600681111561243457612434613089565b0361245d575050604080518082019091526008815267111a5cdc1d5d195960c21b602082015290565b50506040805180820190915260078152662ab735b737bbb760c91b602082015290565b612488612e49565b6040805160c0810182526004850180546001600160a01b0381168352600160a01b810463ffffffff166020840152600160c01b90046001600160401b031692820192909252600585015460608201526006850180546106e4939160808401916124f0906137f6565b80601f016020809104026020016040519081016040528092919081815260200182805461251c906137f6565b80156125675780601f1061253e57610100808354040283529160200191612567565b820191905f5260205f20905b81548152906001019060200180831161254a57829003601f168201915b5050509183525050600391909101546001600160a01b031660209091015260098501548490600160c01b90046001600160401b0316611be8565b5f6106e76125b26040840184613518565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506125ff92506125fa9150506040860160208701613caf565b612a55565b612a71565b5f81831061261e575f8281526020849052604090206106e4565b5f8381526020839052604090206106e4565b612638612f37565b604080518082019091528281525f602082015261108f81612b53565b5f6126688251805151602090910151101590565b6122d5576006826040015160ff16116126b05760408201516502020183808360d11b9060ff166007811061269e5761269e613698565b1a60138111156106e7576106e7613089565b816040015160ff166007036122d557816060015160ff16601414806126dc5750816060015160ff166015145b156126e957506002919050565b6019826060015160ff16101580156127095750601b826060015160ff1611155b156122d557506005919050565b5f60188260ff16101561272d575060ff81166106e7565b8160ff1660180361274b5761274183612c73565b60ff1690506106e7565b8160ff1660190361276a5761275f83612cd3565b61ffff1690506106e7565b8160ff16601a0361278b5761277e83612d3e565b63ffffffff1690506106e7565b8160ff16601b036127a65761279f83612d9c565b90506106e7565b8160ff16601f036127bf57506001600160401b036106e7565b604051636d785b1360e01b815260ff8316600482015260240161043a565b5f816040015160ff1660010361280c575f6127ff835f01518460600151612716565b905061108f815f19613d99565b816040015160ff165f03612823576106e782612dfa565b604080830151905161800560e51b815260ff90911660048201526001602482015260440161043a565b5f61285a60208301836136de565b61286a60408401602085016136de565b61287a6060850160408601613b89565b61288a6080860160608701613dc8565b61289a60a0870160808801613dc8565b8660a001604051602001611b8c96959493929190613de1565b80546001820154604080515f93611b8c9363ffffffff80831694640100000000840490911693600160401b909304901b91608082811b92600160801b9004901b906002890190602001613e36565b60408051606480825260a08201909252606091905f90826020820181803683370190505090505f5b5f612935600a87613ea9565b9050612942600a87613ebc565b955061294f816030613ecf565b60f81b838361295d81613ee8565b94508151811061296f5761296f613698565b60200101906001600160f81b03191690815f1a90535050845f03612929575f816001600160401b038111156129a6576129a6613589565b6040519080825280601f01601f1916602001820160405280156129d0576020820181803683370190505b50905060015b828111612a4b57836129e88285613abb565b815181106129f8576129f8613698565b01602001516001600160f81b03191682612a13600184613abb565b81518110612a2357612a23613698565b60200101906001600160f81b03191690815f1a90535080612a4381613ee8565b9150506129d6565b5095945050505050565b604080516001600160881b0319831660208201525f9101611b8c565b5f8251604114612a8257505f6106e7565b6020830151604084015160608501515f1a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612ac6575f93505050506106e7565b8060ff16601b14158015612ade57508060ff16601c14155b15612aee575f93505050506106e7565b604080515f81526020810180835287905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015612b3e573d5f5f3e3d5ffd5b5050604051601f190151979650505050505050565b612b5b612f37565b81515182905f03612b7f576040516309036d4760e21b815260040160405180910390fd5b5f60ff816001600160401b038160015b8015612c0057612b9e89612c73565b955081612baa81613ee8565b6007600589901c169650601f881695509250506005198501612bf9576020890151612bd58a86612716565b9350808a60200151612be79190613abb565b612bf19084613a66565b925050612b8f565b505f612b8f565b600760ff86161115612c2a5760405163bd2ac87960e01b815260ff8616600482015260240161043a565b506040805160c08101825289815260ff9687166020820152948616908501529190931660608301526001600160401b03908116608083015290911660a082015291505b50919050565b5f8160200151825f01515180821115612ca9576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051808301600101519550908190612cc682613ee8565b8152505050505050919050565b5f81602001516002612ce59190613a66565b82515180821115612d13576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600281840181015196509091612d318284613a66565b9052509395945050505050565b5f81602001516004612d509190613a66565b82515180821115612d7e576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600481840181015196509091612d318284613a66565b5f81602001516008612dae9190613a66565b82515180821115612ddc576040516363a056dd60e01b8152600481018390526024810182905260440161043a565b8351602085018051600881840181015196509091612d318284613a66565b5f815f8060ff16826040015160ff1614612e3857604080830151905161800560e51b815260ff9182166004820152908216602482015260440161043a565b610e86845f01518560600151612716565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001612e84612f37565b905290565b6040805160c0810182525f8082526020820181905291810182905260608101829052608081019190915260a08101612e84612f7c565b508054612ecb906137f6565b5f825580601f10612eda575050565b601f0160209004905f5260205f2090810190612ef69190612f9a565b50565b8260048101928215612f27579160200282015b82811115612f27578251825591602001919060010190612f0c565b50612f33929150612f9a565b5090565b604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405180608001604052806004906020820280368337509192915050565b5b80821115612f33575f8155600101612f9b565b5f5f83601f840112612fbe575f5ffd5b5081356001600160401b03811115612fd4575f5ffd5b6020830191508360208260051b8501011115612210575f5ffd5b5f5f5f5f5f60608688031215613002575f5ffd5b85356001600160401b03811115613017575f5ffd5b860160e08189031215613028575f5ffd5b945060208601356001600160401b03811115613042575f5ffd5b61304e88828901612fae565b90955093505060408601356001600160401b0381111561306c575f5ffd5b61307888828901612fae565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f815160c084528051604060c08601526130e961010086018261309d565b9050602082015160e086015260ff602085015116602086015260408401519150613118604086018360ff169052565b6060840151915061312e606086018360ff169052565b6080840151915061314a60808601836001600160401b03169052565b60a08401519150610e8660a08601836001600160401b03169052565b602081525f8251610100811061317e5761317e613089565b8060208401525060208301516014811061319a5761319a613089565b80604084015250604083015160608301526060830151608083015260808301516131cf60a08401826001600160401b03169052565b5060a083015160c080840152610e8660e08401826130cb565b5f5f602083850312156131f9575f5ffd5b82356001600160401b0381111561320e575f5ffd5b61321a85828601612fae565b90969095509350505050565b5f6101208201905063ffffffff835116825263ffffffff60208401511660208301526001600160401b031960408401511660408301526001600160801b031960608401511660608301526001600160801b0319608084015116608083015260a083015160a083015f5b60048110156132ae57825182526020928301929091019060010161328f565b50505092915050565b5f60c08284031215612c6d575f5ffd5b5f5f5f5f5f5f5f60a0888a0312156132dd575f5ffd5b87356001600160401b038111156132f2575f5ffd5b6132fe8a828b01612fae565b90985096505060208801356001600160401b0381111561331c575f5ffd5b6133288a828b016132b7565b95505060408801356001600160401b03811115613343575f5ffd5b61334f8a828b01612fae565b989b979a5095989597966060870135966080013595509350505050565b5f5f6040838503121561337d575f5ffd5b50508035926020909101359150565b60078110612ef657612ef6613089565b602081016133a98361338c565b91905290565b5f5f5f606084860312156133c1575f5ffd5b505081359360208301359350604090920135919050565b80356001600160a01b03811681146122d5575f5ffd5b5f5f604083850312156133ff575f5ffd5b613408836133d8565b946020939093013593505050565b5f60208284031215613426575f5ffd5b6106e4826133d8565b5f5f5f60608486031215613441575f5ffd5b83356001600160401b03811115613456575f5ffd5b613462868287016132b7565b9660208601359650604090950135949350505050565b60018060a01b03881681528660208201526001600160401b03861660408201526001600160401b03851660608201526001600160401b03841660808201528260a082015260e060c08201525f6134d160e083018461309d565b9998505050505050505050565b5f5f5f606084860312156134f0575f5ffd5b6134f9846133d8565b9250613507602085016133d8565b929592945050506040919091013590565b5f5f8335601e1984360301811261352d575f5ffd5b8301803591506001600160401b03821115613546575f5ffd5b602001915036819003821315612210575f5ffd5b6001600160401b0381168114612ef6575f5ffd5b5f6020828403121561357e575f5ffd5b813561108f8161355a565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156135bf576135bf613589565b60405290565b604051608081016001600160401b03811182821017156135bf576135bf613589565b803561ffff811681146122d5575f5ffd5b5f6060828403128015613609575f5ffd5b50604051606081016001600160401b038111828210171561362c5761362c613589565b604052613638836135e7565b8152613646602084016135e7565b602082015260408301356136598161355a565b60408201529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156106e7576106e7613665565b634e487b7160e01b5f52603260045260245ffd5b5f823561017e198336030181126136c1575f5ffd5b9190910192915050565b803563ffffffff811681146122d5575f5ffd5b5f602082840312156136ee575f5ffd5b6106e4826136cb565b803567ffffffffffffffff19811681146122d5575f5ffd5b80356001600160801b0319811681146122d5575f5ffd5b5f610120828403128015613738575f5ffd5b5061374161359d565b61374a836136cb565b8152613758602084016136cb565b6020820152613769604084016136f7565b604082015261377a6060840161370f565b606082015261378b6080840161370f565b60808201528360bf84011261379e575f5ffd5b6137a66135c5565b806101208501868111156137b8575f5ffd5b60a086015b818110156137d55780358452602093840193016137bd565b505060a0830152509392505050565b602081525f6106e4602083018461309d565b600181811c9082168061380a57607f821691505b602082108103612c6d57634e487b7160e01b5f52602260045260245ffd5b8381526001600160401b0383166020820152606060408201525f5f835461384e816137f6565b806060860152600182165f811461386c5760018114613888576138b9565b60ff1983166080870152608082151560051b87010193506138b9565b865f5260205f205f5b838110156138b057815488820160800152600190910190602001613891565b87016080019450505b5091979650505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8481526001600160401b0384166020820152606060408201525f6139166060830184866138c6565b9695505050505050565b601f82111561396757805f5260205f20601f840160051c810160208510156139455750805b601f840160051c820191505b81811015613964575f8155600101613951565b50505b505050565b6001600160401b0383111561398357613983613589565b6139978361399183546137f6565b83613920565b5f601f8411600181146139c8575f85156139b15750838201355b5f19600387901b1c1916600186901b178355613964565b5f83815260208120601f198716915b828110156139f757868501358255602094850194600190920191016139d7565b5086821015613a13575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f81518060208401855e5f93019283525090919050565b75034b73b30b634b21038bab2b93c9039ba30ba3ab99d160551b81525f6106e46016830184613a25565b808201808211156106e7576106e7613665565b80820281158282048414176106e7576106e7613665565b6020808252601190820152703737ba103a3432903932b8bab2b9ba32b960791b604082015260600190565b818103818111156106e7576106e7613665565b60208082526023908201527f457363726f7761626c653a20696e73756666696369656e7420636f6c6c6174656040820152621c985b60ea1b606082015260800190565b5f60208284031215613b21575f5ffd5b6106e4826135e7565b88815287602082015261ffff8716604082015261ffff861660608201526001600160401b03851660808201526001600160401b03841660a082015260e060c08201525f613b7b60e0830184866138c6565b9a9950505050505050505050565b5f60208284031215613b99575f5ffd5b6106e4826136f7565b7f6d69736d61746368696e6720626561636f6e73206f6e20666173742d666f72778152696172642073746570202360b01b60208201525f6106e4602a830184613a25565b634e487b7160e01b5f52601260045260245ffd5b5f63ffffffff831680613c0f57613c0f613be6565b8063ffffffff84160491505092915050565b5f5f8335601e19843603018112613c36575f5ffd5b8301803591506001600160401b03821115613c4f575f5ffd5b6020019150600781901b3603821315612210575f5ffd5b7f746f6f206d616e79206d697373696e67207075626b657973206f6e206661737481526e2d666f72776172642073746570202360881b60208201525f6106e4602f830184613a25565b5f60208284031215613cbf575f5ffd5b81356001600160881b03198116811461108f575f5ffd5b5f6001600160401b03831680613cee57613cee613be6565b806001600160401b0384160491505092915050565b70ffffffffffffffffffffffffffffffffff198816815260a060208201525f613d3060a08301888a6138c6565b8660408401526001600160401b03861660608401528281036080840152613b7b8185876138c6565b6001600160401b0382811682821603908111156106e7576106e7613665565b6001600160401b038181168382160290811690818114610cc357610cc3613665565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff821317156106e7576106e7613665565b5f60208284031215613dd8575f5ffd5b6106e48261370f565b63ffffffff87811682528616602082015267ffffffffffffffff19851660408201526001600160801b0319848116606083015283166080808301919091526101208201908360a0840137979650505050505050565b63ffffffff87811682528616602082015267ffffffffffffffff19851660408201526001600160801b0319848116606083015283166080820152610120810160a08201835f5b6004811015613e9b578154835260209092019160019182019101613e7c565b505050979650505050505050565b5f82613eb757613eb7613be6565b500690565b5f82613eca57613eca613be6565b500490565b60ff81811683821601908111156106e7576106e7613665565b5f60018201613ef957613ef9613665565b506001019056fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e102a2646970667358221220dda0b4b9dd7d47739f7309f2e0aed8896b74a8607664ae42df22a6908f953a4b64736f6c634300081e0033",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:38242:136",
        "nodeType": "YulBlock",
        "src": "0:38242:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "118:283:136",
              "nodeType": "YulBlock",
              "src": "118:283:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "167:16:136",
                    "nodeType": "YulBlock",
                    "src": "167:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "176:1:136",
                              "nodeType": "YulLiteral",
                              "src": "176:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "179:1:136",
                              "nodeType": "YulLiteral",
                              "src": "179:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "169:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "169:6:136"
                          },
                          "nativeSrc": "169:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "169:12:136"
                        },
                        "nativeSrc": "169:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "169:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "146:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "146:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "154:4:136",
                                "nodeType": "YulLiteral",
                                "src": "154:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "142:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "142:3:136"
                            },
                            "nativeSrc": "142:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "142:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "161:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "161:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "138:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "138:3:136"
                        },
                        "nativeSrc": "138:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "138:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "131:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "131:6:136"
                    },
                    "nativeSrc": "131:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "131:35:136"
                  },
                  "nativeSrc": "128:55:136",
                  "nodeType": "YulIf",
                  "src": "128:55:136"
                },
                {
                  "nativeSrc": "192:30:136",
                  "nodeType": "YulAssignment",
                  "src": "192:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "215:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "215:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "202:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "202:12:136"
                    },
                    "nativeSrc": "202:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "202:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "192:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "192:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "265:16:136",
                    "nodeType": "YulBlock",
                    "src": "265:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "274:1:136",
                              "nodeType": "YulLiteral",
                              "src": "274:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "277:1:136",
                              "nodeType": "YulLiteral",
                              "src": "277:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "267:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "267:6:136"
                          },
                          "nativeSrc": "267:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "267:12:136"
                        },
                        "nativeSrc": "267:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "267:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "237:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "237:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "245:18:136",
                        "nodeType": "YulLiteral",
                        "src": "245:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "234:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "234:2:136"
                    },
                    "nativeSrc": "234:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "234:30:136"
                  },
                  "nativeSrc": "231:50:136",
                  "nodeType": "YulIf",
                  "src": "231:50:136"
                },
                {
                  "nativeSrc": "290:29:136",
                  "nodeType": "YulAssignment",
                  "src": "290:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "306:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "306:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "314:4:136",
                        "nodeType": "YulLiteral",
                        "src": "314:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "302:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "302:3:136"
                    },
                    "nativeSrc": "302:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "302:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "290:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "290:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "379:16:136",
                    "nodeType": "YulBlock",
                    "src": "379:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "388:1:136",
                              "nodeType": "YulLiteral",
                              "src": "388:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "391:1:136",
                              "nodeType": "YulLiteral",
                              "src": "391:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "381:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "381:6:136"
                          },
                          "nativeSrc": "381:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "381:12:136"
                        },
                        "nativeSrc": "381:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "381:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "342:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "342:6:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "354:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "354:1:136",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "357:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "357:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "350:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "350:3:136"
                                },
                                "nativeSrc": "350:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "350:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "338:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "338:3:136"
                            },
                            "nativeSrc": "338:27:136",
                            "nodeType": "YulFunctionCall",
                            "src": "338:27:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "367:4:136",
                            "nodeType": "YulLiteral",
                            "src": "367:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "334:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "334:3:136"
                        },
                        "nativeSrc": "334:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "334:38:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "374:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "374:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "331:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "331:2:136"
                    },
                    "nativeSrc": "331:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "331:47:136"
                  },
                  "nativeSrc": "328:67:136",
                  "nodeType": "YulIf",
                  "src": "328:67:136"
                }
              ]
            },
            "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
            "nativeSrc": "14:387:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "81:6:136",
                "nodeType": "YulTypedName",
                "src": "81:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "89:3:136",
                "nodeType": "YulTypedName",
                "src": "89:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "97:8:136",
                "nodeType": "YulTypedName",
                "src": "97:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "107:6:136",
                "nodeType": "YulTypedName",
                "src": "107:6:136",
                "type": ""
              }
            ],
            "src": "14:387:136"
          },
          {
            "body": {
              "nativeSrc": "647:888:136",
              "nodeType": "YulBlock",
              "src": "647:888:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "693:16:136",
                    "nodeType": "YulBlock",
                    "src": "693:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "702:1:136",
                              "nodeType": "YulLiteral",
                              "src": "702:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "705:1:136",
                              "nodeType": "YulLiteral",
                              "src": "705:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "695:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "695:6:136"
                          },
                          "nativeSrc": "695:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "695:12:136"
                        },
                        "nativeSrc": "695:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "695:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "668:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "668:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "677:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "677:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "664:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "664:3:136"
                        },
                        "nativeSrc": "664:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "664:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "689:2:136",
                        "nodeType": "YulLiteral",
                        "src": "689:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "660:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "660:3:136"
                    },
                    "nativeSrc": "660:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "660:32:136"
                  },
                  "nativeSrc": "657:52:136",
                  "nodeType": "YulIf",
                  "src": "657:52:136"
                },
                {
                  "nativeSrc": "718:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "718:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "745:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "745:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "732:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "732:12:136"
                    },
                    "nativeSrc": "732:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "732:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "722:6:136",
                      "nodeType": "YulTypedName",
                      "src": "722:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "798:16:136",
                    "nodeType": "YulBlock",
                    "src": "798:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "807:1:136",
                              "nodeType": "YulLiteral",
                              "src": "807:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "810:1:136",
                              "nodeType": "YulLiteral",
                              "src": "810:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "800:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "800:6:136"
                          },
                          "nativeSrc": "800:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "800:12:136"
                        },
                        "nativeSrc": "800:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "800:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "770:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "770:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "778:18:136",
                        "nodeType": "YulLiteral",
                        "src": "778:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "767:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "767:2:136"
                    },
                    "nativeSrc": "767:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "767:30:136"
                  },
                  "nativeSrc": "764:50:136",
                  "nodeType": "YulIf",
                  "src": "764:50:136"
                },
                {
                  "nativeSrc": "823:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "823:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "837:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "837:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "848:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "848:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "833:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "833:3:136"
                    },
                    "nativeSrc": "833:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "833:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "827:2:136",
                      "nodeType": "YulTypedName",
                      "src": "827:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "894:16:136",
                    "nodeType": "YulBlock",
                    "src": "894:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "903:1:136",
                              "nodeType": "YulLiteral",
                              "src": "903:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "906:1:136",
                              "nodeType": "YulLiteral",
                              "src": "906:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "896:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "896:6:136"
                          },
                          "nativeSrc": "896:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "896:12:136"
                        },
                        "nativeSrc": "896:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "896:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "875:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "875:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "884:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "884:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "871:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "871:3:136"
                        },
                        "nativeSrc": "871:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "871:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "889:3:136",
                        "nodeType": "YulLiteral",
                        "src": "889:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "867:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "867:3:136"
                    },
                    "nativeSrc": "867:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "867:26:136"
                  },
                  "nativeSrc": "864:46:136",
                  "nodeType": "YulIf",
                  "src": "864:46:136"
                },
                {
                  "nativeSrc": "919:12:136",
                  "nodeType": "YulAssignment",
                  "src": "919:12:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "929:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "929:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "919:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "919:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "940:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "940:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "973:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "973:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "984:2:136",
                            "nodeType": "YulLiteral",
                            "src": "984:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "969:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "969:3:136"
                        },
                        "nativeSrc": "969:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "969:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "956:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "956:12:136"
                    },
                    "nativeSrc": "956:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "956:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "944:8:136",
                      "nodeType": "YulTypedName",
                      "src": "944:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1033:16:136",
                    "nodeType": "YulBlock",
                    "src": "1033:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1042:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1042:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1045:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1045:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1035:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1035:6:136"
                          },
                          "nativeSrc": "1035:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1035:12:136"
                        },
                        "nativeSrc": "1035:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1035:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "1003:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "1003:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1013:18:136",
                        "nodeType": "YulLiteral",
                        "src": "1013:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "1000:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "1000:2:136"
                    },
                    "nativeSrc": "1000:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1000:32:136"
                  },
                  "nativeSrc": "997:52:136",
                  "nodeType": "YulIf",
                  "src": "997:52:136"
                },
                {
                  "nativeSrc": "1058:118:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1058:118:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1146:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1146:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "1157:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "1157:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1142:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1142:3:136"
                        },
                        "nativeSrc": "1142:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1142:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "1168:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "1168:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
                      "nativeSrc": "1084:57:136",
                      "nodeType": "YulIdentifier",
                      "src": "1084:57:136"
                    },
                    "nativeSrc": "1084:92:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1084:92:136"
                  },
                  "variables": [
                    {
                      "name": "value1_1",
                      "nativeSrc": "1062:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1062:8:136",
                      "type": ""
                    },
                    {
                      "name": "value2_1",
                      "nativeSrc": "1072:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1072:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1185:18:136",
                  "nodeType": "YulAssignment",
                  "src": "1185:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "1195:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "1195:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "1185:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1185:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1212:18:136",
                  "nodeType": "YulAssignment",
                  "src": "1212:18:136",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "1222:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "1222:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "1212:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1212:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1239:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1239:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1272:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1272:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1283:2:136",
                            "nodeType": "YulLiteral",
                            "src": "1283:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1268:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1268:3:136"
                        },
                        "nativeSrc": "1268:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1268:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1255:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "1255:12:136"
                    },
                    "nativeSrc": "1255:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1255:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "1243:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1243:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1332:16:136",
                    "nodeType": "YulBlock",
                    "src": "1332:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1341:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1341:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1344:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1344:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1334:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1334:6:136"
                          },
                          "nativeSrc": "1334:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1334:12:136"
                        },
                        "nativeSrc": "1334:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1334:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "1302:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "1302:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1312:18:136",
                        "nodeType": "YulLiteral",
                        "src": "1312:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "1299:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "1299:2:136"
                    },
                    "nativeSrc": "1299:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1299:32:136"
                  },
                  "nativeSrc": "1296:52:136",
                  "nodeType": "YulIf",
                  "src": "1296:52:136"
                },
                {
                  "nativeSrc": "1357:118:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1357:118:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1445:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1445:9:136"
                          },
                          {
                            "name": "offset_2",
                            "nativeSrc": "1456:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "1456:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1441:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1441:3:136"
                        },
                        "nativeSrc": "1441:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1441:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "1467:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "1467:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
                      "nativeSrc": "1383:57:136",
                      "nodeType": "YulIdentifier",
                      "src": "1383:57:136"
                    },
                    "nativeSrc": "1383:92:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1383:92:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "1361:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1361:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "1371:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1371:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1484:18:136",
                  "nodeType": "YulAssignment",
                  "src": "1484:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "1494:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "1494:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "1484:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1484:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1511:18:136",
                  "nodeType": "YulAssignment",
                  "src": "1511:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "1521:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "1521:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "1511:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1511:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataPushReport_$37274_calldata_ptrt_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptrt_array$_t_bytes32_$dyn_calldata_ptr",
            "nativeSrc": "406:1129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "581:9:136",
                "nodeType": "YulTypedName",
                "src": "581:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "592:7:136",
                "nodeType": "YulTypedName",
                "src": "592:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "604:6:136",
                "nodeType": "YulTypedName",
                "src": "604:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "612:6:136",
                "nodeType": "YulTypedName",
                "src": "612:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "620:6:136",
                "nodeType": "YulTypedName",
                "src": "620:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "628:6:136",
                "nodeType": "YulTypedName",
                "src": "628:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "636:6:136",
                "nodeType": "YulTypedName",
                "src": "636:6:136",
                "type": ""
              }
            ],
            "src": "406:1129:136"
          },
          {
            "body": {
              "nativeSrc": "1572:95:136",
              "nodeType": "YulBlock",
              "src": "1572:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1589:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1589:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "1596:3:136",
                            "nodeType": "YulLiteral",
                            "src": "1596:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1601:10:136",
                            "nodeType": "YulLiteral",
                            "src": "1601:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "1592:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1592:3:136"
                        },
                        "nativeSrc": "1592:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1592:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1582:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1582:6:136"
                    },
                    "nativeSrc": "1582:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1582:31:136"
                  },
                  "nativeSrc": "1582:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1582:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1629:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1629:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1632:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1632:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1622:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1622:6:136"
                    },
                    "nativeSrc": "1622:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1622:15:136"
                  },
                  "nativeSrc": "1622:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1622:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1653:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1653:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1656:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1656:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "1646:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1646:6:136"
                    },
                    "nativeSrc": "1646:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1646:15:136"
                  },
                  "nativeSrc": "1646:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1646:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "1540:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "1540:127:136"
          },
          {
            "body": {
              "nativeSrc": "1739:59:136",
              "nodeType": "YulBlock",
              "src": "1739:59:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1756:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1756:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1765:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1765:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1772:18:136",
                            "nodeType": "YulLiteral",
                            "src": "1772:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1761:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1761:3:136"
                        },
                        "nativeSrc": "1761:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1761:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1749:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1749:6:136"
                    },
                    "nativeSrc": "1749:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1749:43:136"
                  },
                  "nativeSrc": "1749:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1749:43:136"
                }
              ]
            },
            "name": "abi_encode_userDefinedValueType_Timestamp",
            "nativeSrc": "1672:126:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1723:5:136",
                "nodeType": "YulTypedName",
                "src": "1723:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1730:3:136",
                "nodeType": "YulTypedName",
                "src": "1730:3:136",
                "type": ""
              }
            ],
            "src": "1672:126:136"
          },
          {
            "body": {
              "nativeSrc": "1852:239:136",
              "nodeType": "YulBlock",
              "src": "1852:239:136",
              "statements": [
                {
                  "nativeSrc": "1862:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1862:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1882:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1882:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1876:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1876:5:136"
                    },
                    "nativeSrc": "1876:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1876:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1866:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1866:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1904:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1904:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1909:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1909:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1897:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1897:6:136"
                    },
                    "nativeSrc": "1897:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1897:19:136"
                  },
                  "nativeSrc": "1897:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1897:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1935:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1935:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1940:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1940:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1931:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1931:3:136"
                        },
                        "nativeSrc": "1931:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1931:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1951:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1951:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1958:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1958:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1947:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1947:3:136"
                        },
                        "nativeSrc": "1947:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1947:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1965:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1965:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "1925:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1925:5:136"
                    },
                    "nativeSrc": "1925:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1925:47:136"
                  },
                  "nativeSrc": "1925:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1925:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "1996:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1996:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2001:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2001:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1992:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1992:3:136"
                            },
                            "nativeSrc": "1992:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1992:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2010:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2010:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1988:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1988:3:136"
                        },
                        "nativeSrc": "1988:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1988:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2017:1:136",
                        "nodeType": "YulLiteral",
                        "src": "2017:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1981:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1981:6:136"
                    },
                    "nativeSrc": "1981:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1981:38:136"
                  },
                  "nativeSrc": "1981:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1981:38:136"
                },
                {
                  "nativeSrc": "2028:57:136",
                  "nodeType": "YulAssignment",
                  "src": "2028:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2043:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2043:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "2056:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2056:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2064:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2064:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2052:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2052:3:136"
                                },
                                "nativeSrc": "2052:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2052:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2073:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2073:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "2069:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2069:3:136"
                                },
                                "nativeSrc": "2069:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2069:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2048:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2048:3:136"
                            },
                            "nativeSrc": "2048:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2048:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2039:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2039:3:136"
                        },
                        "nativeSrc": "2039:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2039:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2080:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2080:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2035:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2035:3:136"
                    },
                    "nativeSrc": "2035:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2035:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "2028:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2028:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "1803:288:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1829:5:136",
                "nodeType": "YulTypedName",
                "src": "1829:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1836:3:136",
                "nodeType": "YulTypedName",
                "src": "1836:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1844:3:136",
                "nodeType": "YulTypedName",
                "src": "1844:3:136",
                "type": ""
              }
            ],
            "src": "1803:288:136"
          },
          {
            "body": {
              "nativeSrc": "2138:33:136",
              "nodeType": "YulBlock",
              "src": "2138:33:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2147:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2147:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2156:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2156:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2163:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2163:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2152:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2152:3:136"
                        },
                        "nativeSrc": "2152:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2152:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2140:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2140:6:136"
                    },
                    "nativeSrc": "2140:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2140:29:136"
                  },
                  "nativeSrc": "2140:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2140:29:136"
                }
              ]
            },
            "name": "abi_encode_uint8",
            "nativeSrc": "2096:75:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2122:5:136",
                "nodeType": "YulTypedName",
                "src": "2122:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2129:3:136",
                "nodeType": "YulTypedName",
                "src": "2129:3:136",
                "type": ""
              }
            ],
            "src": "2096:75:136"
          },
          {
            "body": {
              "nativeSrc": "2231:872:136",
              "nodeType": "YulBlock",
              "src": "2231:872:136",
              "statements": [
                {
                  "nativeSrc": "2241:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2241:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2267:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "2267:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2261:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2261:5:136"
                    },
                    "nativeSrc": "2261:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2261:12:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "2245:12:136",
                      "nodeType": "YulTypedName",
                      "src": "2245:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2289:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2289:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2294:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2294:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2282:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2282:6:136"
                    },
                    "nativeSrc": "2282:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2282:17:136"
                  },
                  "nativeSrc": "2282:17:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2282:17:136"
                },
                {
                  "nativeSrc": "2308:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2308:41:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "2336:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "2336:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2330:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2330:5:136"
                    },
                    "nativeSrc": "2330:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2330:19:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "2312:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2312:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2369:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2369:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2374:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2374:4:136",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2365:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2365:3:136"
                        },
                        "nativeSrc": "2365:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2365:14:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2381:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2381:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2358:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2358:6:136"
                    },
                    "nativeSrc": "2358:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2358:28:136"
                  },
                  "nativeSrc": "2358:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2358:28:136"
                },
                {
                  "nativeSrc": "2395:59:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2395:59:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "2424:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "2424:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2444:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2444:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2449:3:136",
                            "nodeType": "YulLiteral",
                            "src": "2449:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2440:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2440:3:136"
                        },
                        "nativeSrc": "2440:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2440:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "2407:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "2407:16:136"
                    },
                    "nativeSrc": "2407:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2407:47:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "2399:4:136",
                      "nodeType": "YulTypedName",
                      "src": "2399:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2474:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2474:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2479:3:136",
                            "nodeType": "YulLiteral",
                            "src": "2479:3:136",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2470:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2470:3:136"
                        },
                        "nativeSrc": "2470:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2470:13:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "2495:12:136",
                                "nodeType": "YulIdentifier",
                                "src": "2495:12:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2509:4:136",
                                "nodeType": "YulLiteral",
                                "src": "2509:4:136",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2491:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2491:3:136"
                            },
                            "nativeSrc": "2491:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2491:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "2485:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "2485:5:136"
                        },
                        "nativeSrc": "2485:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2485:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2463:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2463:6:136"
                    },
                    "nativeSrc": "2463:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2463:53:136"
                  },
                  "nativeSrc": "2463:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2463:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2536:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2536:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2541:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2541:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2532:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2532:3:136"
                        },
                        "nativeSrc": "2532:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2532:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2562:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2562:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2569:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2569:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2558:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2558:3:136"
                                },
                                "nativeSrc": "2558:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2558:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2552:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2552:5:136"
                            },
                            "nativeSrc": "2552:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2552:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2577:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2577:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2548:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2548:3:136"
                        },
                        "nativeSrc": "2548:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2548:34:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2525:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2525:6:136"
                    },
                    "nativeSrc": "2525:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2525:58:136"
                  },
                  "nativeSrc": "2525:58:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2525:58:136"
                },
                {
                  "nativeSrc": "2592:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2592:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2624:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2624:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2631:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2631:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2620:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2620:3:136"
                        },
                        "nativeSrc": "2620:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2620:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2614:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2614:5:136"
                    },
                    "nativeSrc": "2614:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2614:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "2596:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2596:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "2663:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "2663:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2683:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2683:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2688:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2688:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2679:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2679:3:136"
                        },
                        "nativeSrc": "2679:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2679:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint8",
                      "nativeSrc": "2646:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "2646:16:136"
                    },
                    "nativeSrc": "2646:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2646:48:136"
                  },
                  "nativeSrc": "2646:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2646:48:136"
                },
                {
                  "nativeSrc": "2703:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2703:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2735:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2735:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2742:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2742:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2731:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2731:3:136"
                        },
                        "nativeSrc": "2731:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2731:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2725:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2725:5:136"
                    },
                    "nativeSrc": "2725:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2725:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_3",
                      "nativeSrc": "2707:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2707:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_3",
                        "nativeSrc": "2774:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "2774:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2794:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2794:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2799:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2799:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2790:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2790:3:136"
                        },
                        "nativeSrc": "2790:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2790:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint8",
                      "nativeSrc": "2757:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "2757:16:136"
                    },
                    "nativeSrc": "2757:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2757:48:136"
                  },
                  "nativeSrc": "2757:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2757:48:136"
                },
                {
                  "nativeSrc": "2814:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2814:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2846:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2846:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2853:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2853:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2842:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2842:3:136"
                        },
                        "nativeSrc": "2842:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2842:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2836:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2836:5:136"
                    },
                    "nativeSrc": "2836:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2836:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_4",
                      "nativeSrc": "2818:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2818:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_4",
                        "nativeSrc": "2910:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "2910:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2930:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2930:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2935:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2935:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2926:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2926:3:136"
                        },
                        "nativeSrc": "2926:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2926:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_userDefinedValueType_Timestamp",
                      "nativeSrc": "2868:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "2868:41:136"
                    },
                    "nativeSrc": "2868:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2868:73:136"
                  },
                  "nativeSrc": "2868:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2868:73:136"
                },
                {
                  "nativeSrc": "2950:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2950:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2982:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2982:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2989:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2989:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2978:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2978:3:136"
                        },
                        "nativeSrc": "2978:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2978:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2972:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2972:5:136"
                    },
                    "nativeSrc": "2972:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2972:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_5",
                      "nativeSrc": "2954:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2954:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_5",
                        "nativeSrc": "3046:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3046:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3066:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3066:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3071:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3071:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3062:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3062:3:136"
                        },
                        "nativeSrc": "3062:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3062:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_userDefinedValueType_Timestamp",
                      "nativeSrc": "3004:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "3004:41:136"
                    },
                    "nativeSrc": "3004:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3004:73:136"
                  },
                  "nativeSrc": "3004:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3004:73:136"
                },
                {
                  "nativeSrc": "3086:11:136",
                  "nodeType": "YulAssignment",
                  "src": "3086:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "3093:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "3093:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3086:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3086:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "2176:927:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2208:5:136",
                "nodeType": "YulTypedName",
                "src": "2208:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2215:3:136",
                "nodeType": "YulTypedName",
                "src": "2215:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2223:3:136",
                "nodeType": "YulTypedName",
                "src": "2223:3:136",
                "type": ""
              }
            ],
            "src": "2176:927:136"
          },
          {
            "body": {
              "nativeSrc": "3275:758:136",
              "nodeType": "YulBlock",
              "src": "3275:758:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3292:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "3292:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3303:2:136",
                        "nodeType": "YulLiteral",
                        "src": "3303:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3285:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3285:6:136"
                    },
                    "nativeSrc": "3285:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3285:21:136"
                  },
                  "nativeSrc": "3285:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3285:21:136"
                },
                {
                  "nativeSrc": "3315:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3315:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3331:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3331:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3325:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3325:5:136"
                    },
                    "nativeSrc": "3325:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3325:13:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "3319:2:136",
                      "nodeType": "YulTypedName",
                      "src": "3319:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3370:22:136",
                    "nodeType": "YulBlock",
                    "src": "3370:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "3372:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "3372:16:136"
                          },
                          "nativeSrc": "3372:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3372:18:136"
                        },
                        "nativeSrc": "3372:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3372:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "3360:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "3360:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3364:3:136",
                            "nodeType": "YulLiteral",
                            "src": "3364:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "3357:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "3357:2:136"
                        },
                        "nativeSrc": "3357:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3357:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3350:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3350:6:136"
                    },
                    "nativeSrc": "3350:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3350:19:136"
                  },
                  "nativeSrc": "3347:45:136",
                  "nodeType": "YulIf",
                  "src": "3347:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3412:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3412:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3423:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3423:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3408:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3408:3:136"
                        },
                        "nativeSrc": "3408:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3408:18:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "3428:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "3428:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3401:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3401:6:136"
                    },
                    "nativeSrc": "3401:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3401:30:136"
                  },
                  "nativeSrc": "3401:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3401:30:136"
                },
                {
                  "nativeSrc": "3440:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3440:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "3470:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3470:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3478:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3478:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3466:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3466:3:136"
                        },
                        "nativeSrc": "3466:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3466:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3460:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3460:5:136"
                    },
                    "nativeSrc": "3460:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3460:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "3444:12:136",
                      "nodeType": "YulTypedName",
                      "src": "3444:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3523:22:136",
                    "nodeType": "YulBlock",
                    "src": "3523:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "3525:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "3525:16:136"
                          },
                          "nativeSrc": "3525:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3525:18:136"
                        },
                        "nativeSrc": "3525:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3525:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "3504:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "3504:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3518:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3518:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "3501:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "3501:2:136"
                        },
                        "nativeSrc": "3501:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3501:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3494:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3494:6:136"
                    },
                    "nativeSrc": "3494:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3494:28:136"
                  },
                  "nativeSrc": "3491:54:136",
                  "nodeType": "YulIf",
                  "src": "3491:54:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3565:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3565:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3576:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3576:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3561:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3561:3:136"
                        },
                        "nativeSrc": "3561:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3561:18:136"
                      },
                      {
                        "name": "memberValue0",
                        "nativeSrc": "3581:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "3581:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3554:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3554:6:136"
                    },
                    "nativeSrc": "3554:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3554:40:136"
                  },
                  "nativeSrc": "3554:40:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3554:40:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3614:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3614:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3625:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3625:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3610:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3610:3:136"
                        },
                        "nativeSrc": "3610:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3610:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "3640:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3640:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3648:2:136",
                                "nodeType": "YulLiteral",
                                "src": "3648:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3636:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3636:3:136"
                            },
                            "nativeSrc": "3636:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3636:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3630:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "3630:5:136"
                        },
                        "nativeSrc": "3630:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3630:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3603:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3603:6:136"
                    },
                    "nativeSrc": "3603:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3603:50:136"
                  },
                  "nativeSrc": "3603:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3603:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3673:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3673:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3684:3:136",
                            "nodeType": "YulLiteral",
                            "src": "3684:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3669:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3669:3:136"
                        },
                        "nativeSrc": "3669:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3669:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "3700:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3700:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3708:2:136",
                                "nodeType": "YulLiteral",
                                "src": "3708:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3696:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3696:3:136"
                            },
                            "nativeSrc": "3696:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3696:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3690:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "3690:5:136"
                        },
                        "nativeSrc": "3690:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3690:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3662:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3662:6:136"
                    },
                    "nativeSrc": "3662:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3662:51:136"
                  },
                  "nativeSrc": "3662:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3662:51:136"
                },
                {
                  "nativeSrc": "3722:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3722:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "3754:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3754:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3762:3:136",
                            "nodeType": "YulLiteral",
                            "src": "3762:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3750:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3750:3:136"
                        },
                        "nativeSrc": "3750:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3750:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3744:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3744:5:136"
                    },
                    "nativeSrc": "3744:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3744:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "3726:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3726:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "3818:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3818:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3838:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3838:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3849:3:136",
                            "nodeType": "YulLiteral",
                            "src": "3849:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3834:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3834:3:136"
                        },
                        "nativeSrc": "3834:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3834:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_userDefinedValueType_Timestamp",
                      "nativeSrc": "3776:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "3776:41:136"
                    },
                    "nativeSrc": "3776:78:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3776:78:136"
                  },
                  "nativeSrc": "3776:78:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3776:78:136"
                },
                {
                  "nativeSrc": "3863:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3863:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "3895:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3895:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3903:3:136",
                            "nodeType": "YulLiteral",
                            "src": "3903:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3891:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3891:3:136"
                        },
                        "nativeSrc": "3891:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3891:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3885:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3885:5:136"
                    },
                    "nativeSrc": "3885:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3885:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "3867:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3867:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3928:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3928:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3939:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3939:4:136",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3924:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3924:3:136"
                        },
                        "nativeSrc": "3924:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3924:20:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3946:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3946:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3917:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3917:6:136"
                    },
                    "nativeSrc": "3917:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3917:34:136"
                  },
                  "nativeSrc": "3917:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3917:34:136"
                },
                {
                  "nativeSrc": "3960:67:136",
                  "nodeType": "YulAssignment",
                  "src": "3960:67:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "3991:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3991:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4011:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4011:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4022:3:136",
                            "nodeType": "YulLiteral",
                            "src": "4022:3:136",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4007:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4007:3:136"
                        },
                        "nativeSrc": "4007:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4007:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "3968:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "3968:22:136"
                    },
                    "nativeSrc": "3968:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3968:59:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "3960:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "3960:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_DataResult_$37293_memory_ptr__to_t_struct$_DataResult_$37293_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "3108:925:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3244:9:136",
                "nodeType": "YulTypedName",
                "src": "3244:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "3255:6:136",
                "nodeType": "YulTypedName",
                "src": "3255:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "3266:4:136",
                "nodeType": "YulTypedName",
                "src": "3266:4:136",
                "type": ""
              }
            ],
            "src": "3108:925:136"
          },
          {
            "body": {
              "nativeSrc": "4175:352:136",
              "nodeType": "YulBlock",
              "src": "4175:352:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4221:16:136",
                    "nodeType": "YulBlock",
                    "src": "4221:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4230:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4230:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4233:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4233:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4223:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4223:6:136"
                          },
                          "nativeSrc": "4223:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4223:12:136"
                        },
                        "nativeSrc": "4223:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4223:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "4196:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "4196:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "4205:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4205:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "4192:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4192:3:136"
                        },
                        "nativeSrc": "4192:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4192:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4217:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4217:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "4188:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4188:3:136"
                    },
                    "nativeSrc": "4188:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4188:32:136"
                  },
                  "nativeSrc": "4185:52:136",
                  "nodeType": "YulIf",
                  "src": "4185:52:136"
                },
                {
                  "nativeSrc": "4246:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4246:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4273:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4273:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4260:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4260:12:136"
                    },
                    "nativeSrc": "4260:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4260:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "4250:6:136",
                      "nodeType": "YulTypedName",
                      "src": "4250:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4326:16:136",
                    "nodeType": "YulBlock",
                    "src": "4326:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4335:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4335:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4338:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4338:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4328:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4328:6:136"
                          },
                          "nativeSrc": "4328:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4328:12:136"
                        },
                        "nativeSrc": "4328:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4328:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4298:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4298:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4306:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4306:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4295:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4295:2:136"
                    },
                    "nativeSrc": "4295:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4295:30:136"
                  },
                  "nativeSrc": "4292:50:136",
                  "nodeType": "YulIf",
                  "src": "4292:50:136"
                },
                {
                  "nativeSrc": "4351:116:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4351:116:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4439:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4439:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "4450:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4450:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4435:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4435:3:136"
                        },
                        "nativeSrc": "4435:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4435:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "4459:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "4459:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
                      "nativeSrc": "4377:57:136",
                      "nodeType": "YulIdentifier",
                      "src": "4377:57:136"
                    },
                    "nativeSrc": "4377:90:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4377:90:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "4355:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4355:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "4365:8:136",
                      "nodeType": "YulTypedName",
                      "src": "4365:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4476:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4476:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "4486:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "4486:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "4476:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4476:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4503:18:136",
                  "nodeType": "YulAssignment",
                  "src": "4503:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "4513:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "4513:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "4503:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4503:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "4038:489:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4133:9:136",
                "nodeType": "YulTypedName",
                "src": "4133:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "4144:7:136",
                "nodeType": "YulTypedName",
                "src": "4144:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "4156:6:136",
                "nodeType": "YulTypedName",
                "src": "4156:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "4164:6:136",
                "nodeType": "YulTypedName",
                "src": "4164:6:136",
                "type": ""
              }
            ],
            "src": "4038:489:136"
          },
          {
            "body": {
              "nativeSrc": "4691:838:136",
              "nodeType": "YulBlock",
              "src": "4691:838:136",
              "statements": [
                {
                  "nativeSrc": "4701:27:136",
                  "nodeType": "YulAssignment",
                  "src": "4701:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4713:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4713:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4724:3:136",
                        "nodeType": "YulLiteral",
                        "src": "4724:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4709:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4709:3:136"
                    },
                    "nativeSrc": "4709:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4709:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4701:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "4701:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4744:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4744:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "4765:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4765:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4759:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "4759:5:136"
                            },
                            "nativeSrc": "4759:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4759:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4774:10:136",
                            "nodeType": "YulLiteral",
                            "src": "4774:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4755:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4755:3:136"
                        },
                        "nativeSrc": "4755:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4755:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4737:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4737:6:136"
                    },
                    "nativeSrc": "4737:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4737:49:136"
                  },
                  "nativeSrc": "4737:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4737:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4806:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4806:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4817:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4817:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4802:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4802:3:136"
                        },
                        "nativeSrc": "4802:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4802:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "4838:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "4838:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4846:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4846:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4834:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4834:3:136"
                                },
                                "nativeSrc": "4834:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4834:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4828:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "4828:5:136"
                            },
                            "nativeSrc": "4828:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4828:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4854:10:136",
                            "nodeType": "YulLiteral",
                            "src": "4854:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4824:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4824:3:136"
                        },
                        "nativeSrc": "4824:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4824:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4795:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4795:6:136"
                    },
                    "nativeSrc": "4795:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4795:71:136"
                  },
                  "nativeSrc": "4795:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4795:71:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4886:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4886:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4897:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4897:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4882:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4882:3:136"
                        },
                        "nativeSrc": "4882:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4882:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "4918:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "4918:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4926:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4926:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4914:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4914:3:136"
                                },
                                "nativeSrc": "4914:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4914:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4908:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "4908:5:136"
                            },
                            "nativeSrc": "4908:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4908:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "4938:18:136",
                                "nodeType": "YulLiteral",
                                "src": "4938:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "4934:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4934:3:136"
                            },
                            "nativeSrc": "4934:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4934:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4904:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4904:3:136"
                        },
                        "nativeSrc": "4904:54:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4904:54:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4875:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4875:6:136"
                    },
                    "nativeSrc": "4875:84:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4875:84:136"
                  },
                  "nativeSrc": "4875:84:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4875:84:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4979:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4979:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4990:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4990:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4975:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4975:3:136"
                        },
                        "nativeSrc": "4975:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4975:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "5011:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "5011:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5019:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5019:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5007:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5007:3:136"
                                },
                                "nativeSrc": "5007:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "5007:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5001:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "5001:5:136"
                            },
                            "nativeSrc": "5001:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5001:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "5031:34:136",
                                "nodeType": "YulLiteral",
                                "src": "5031:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "5027:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5027:3:136"
                            },
                            "nativeSrc": "5027:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5027:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4997:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4997:3:136"
                        },
                        "nativeSrc": "4997:70:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4997:70:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4968:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4968:6:136"
                    },
                    "nativeSrc": "4968:100:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4968:100:136"
                  },
                  "nativeSrc": "4968:100:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4968:100:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5088:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5088:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5099:4:136",
                            "nodeType": "YulLiteral",
                            "src": "5099:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5084:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5084:3:136"
                        },
                        "nativeSrc": "5084:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5084:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "5120:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "5120:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5128:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5128:4:136",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5116:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5116:3:136"
                                },
                                "nativeSrc": "5116:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "5116:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5110:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "5110:5:136"
                            },
                            "nativeSrc": "5110:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5110:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "5140:34:136",
                                "nodeType": "YulLiteral",
                                "src": "5140:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "5136:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5136:3:136"
                            },
                            "nativeSrc": "5136:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5136:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5106:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5106:3:136"
                        },
                        "nativeSrc": "5106:70:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5106:70:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5077:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5077:6:136"
                    },
                    "nativeSrc": "5077:100:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5077:100:136"
                  },
                  "nativeSrc": "5077:100:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5077:100:136"
                },
                {
                  "nativeSrc": "5186:44:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5186:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "5216:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5216:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5224:4:136",
                            "nodeType": "YulLiteral",
                            "src": "5224:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5212:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5212:3:136"
                        },
                        "nativeSrc": "5212:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5212:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5206:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "5206:5:136"
                    },
                    "nativeSrc": "5206:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5206:24:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "5190:12:136",
                      "nodeType": "YulTypedName",
                      "src": "5190:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5239:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5239:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5254:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5254:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5265:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5265:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5250:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5250:3:136"
                    },
                    "nativeSrc": "5250:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5250:20:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "5243:3:136",
                      "nodeType": "YulTypedName",
                      "src": "5243:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5279:10:136",
                  "nodeType": "YulAssignment",
                  "src": "5279:10:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "5286:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "5286:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "5279:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5279:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5298:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5298:26:136",
                  "value": {
                    "name": "memberValue0",
                    "nativeSrc": "5312:12:136",
                    "nodeType": "YulIdentifier",
                    "src": "5312:12:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "5302:6:136",
                      "nodeType": "YulTypedName",
                      "src": "5302:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5333:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5333:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5342:1:136",
                    "nodeType": "YulLiteral",
                    "src": "5342:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "5337:1:136",
                      "nodeType": "YulTypedName",
                      "src": "5337:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5399:124:136",
                    "nodeType": "YulBlock",
                    "src": "5399:124:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "5420:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5420:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "5431:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5431:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "5425:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "5425:5:136"
                              },
                              "nativeSrc": "5425:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "5425:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "5413:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5413:6:136"
                          },
                          "nativeSrc": "5413:26:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5413:26:136"
                        },
                        "nativeSrc": "5413:26:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5413:26:136"
                      },
                      {
                        "nativeSrc": "5452:21:136",
                        "nodeType": "YulAssignment",
                        "src": "5452:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "5463:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5463:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5468:4:136",
                              "nodeType": "YulLiteral",
                              "src": "5468:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "5459:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "5459:3:136"
                          },
                          "nativeSrc": "5459:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5459:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "5452:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "5452:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "5486:27:136",
                        "nodeType": "YulAssignment",
                        "src": "5486:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "5500:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "5500:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5508:4:136",
                              "nodeType": "YulLiteral",
                              "src": "5508:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "5496:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "5496:3:136"
                          },
                          "nativeSrc": "5496:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5496:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "5486:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5486:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "5363:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "5363:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5366:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5366:4:136",
                        "type": "",
                        "value": "0x04"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "5360:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5360:2:136"
                    },
                    "nativeSrc": "5360:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5360:11:136"
                  },
                  "nativeSrc": "5352:171:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "5372:18:136",
                    "nodeType": "YulBlock",
                    "src": "5372:18:136",
                    "statements": [
                      {
                        "nativeSrc": "5374:14:136",
                        "nodeType": "YulAssignment",
                        "src": "5374:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "5383:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "5383:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5386:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5386:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "5379:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "5379:3:136"
                          },
                          "nativeSrc": "5379:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5379:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "5374:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "5374:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "5356:3:136",
                    "nodeType": "YulBlock",
                    "src": "5356:3:136",
                    "statements": []
                  },
                  "src": "5352:171:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Beacon_$37242_memory_ptr__to_t_struct$_Beacon_$37242_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "4532:997:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4660:9:136",
                "nodeType": "YulTypedName",
                "src": "4660:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4671:6:136",
                "nodeType": "YulTypedName",
                "src": "4671:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4682:4:136",
                "nodeType": "YulTypedName",
                "src": "4682:4:136",
                "type": ""
              }
            ],
            "src": "4532:997:136"
          },
          {
            "body": {
              "nativeSrc": "5611:86:136",
              "nodeType": "YulBlock",
              "src": "5611:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5651:16:136",
                    "nodeType": "YulBlock",
                    "src": "5651:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5660:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5660:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5663:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5663:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5653:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5653:6:136"
                          },
                          "nativeSrc": "5653:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5653:12:136"
                        },
                        "nativeSrc": "5653:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5653:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "5632:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "5632:3:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "5637:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5637:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5628:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5628:3:136"
                        },
                        "nativeSrc": "5628:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5628:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5646:3:136",
                        "nodeType": "YulLiteral",
                        "src": "5646:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5624:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5624:3:136"
                    },
                    "nativeSrc": "5624:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5624:26:136"
                  },
                  "nativeSrc": "5621:46:136",
                  "nodeType": "YulIf",
                  "src": "5621:46:136"
                },
                {
                  "nativeSrc": "5676:15:136",
                  "nodeType": "YulAssignment",
                  "src": "5676:15:136",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "5685:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "5685:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "5676:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "5676:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_DataPullReport_calldata",
            "nativeSrc": "5534:163:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "5585:6:136",
                "nodeType": "YulTypedName",
                "src": "5585:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "5593:3:136",
                "nodeType": "YulTypedName",
                "src": "5593:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "5601:5:136",
                "nodeType": "YulTypedName",
                "src": "5601:5:136",
                "type": ""
              }
            ],
            "src": "5534:163:136"
          },
          {
            "body": {
              "nativeSrc": "5977:1066:136",
              "nodeType": "YulBlock",
              "src": "5977:1066:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6024:16:136",
                    "nodeType": "YulBlock",
                    "src": "6024:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6033:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6033:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6036:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6036:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6026:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6026:6:136"
                          },
                          "nativeSrc": "6026:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6026:12:136"
                        },
                        "nativeSrc": "6026:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6026:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5998:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "5998:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6007:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6007:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5994:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5994:3:136"
                        },
                        "nativeSrc": "5994:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5994:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6019:3:136",
                        "nodeType": "YulLiteral",
                        "src": "6019:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5990:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5990:3:136"
                    },
                    "nativeSrc": "5990:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5990:33:136"
                  },
                  "nativeSrc": "5987:53:136",
                  "nodeType": "YulIf",
                  "src": "5987:53:136"
                },
                {
                  "nativeSrc": "6049:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6049:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6076:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6076:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6063:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6063:12:136"
                    },
                    "nativeSrc": "6063:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6063:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6053:6:136",
                      "nodeType": "YulTypedName",
                      "src": "6053:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6129:16:136",
                    "nodeType": "YulBlock",
                    "src": "6129:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6138:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6138:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6141:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6141:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6131:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6131:6:136"
                          },
                          "nativeSrc": "6131:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6131:12:136"
                        },
                        "nativeSrc": "6131:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6131:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6101:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6101:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6109:18:136",
                        "nodeType": "YulLiteral",
                        "src": "6109:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6098:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6098:2:136"
                    },
                    "nativeSrc": "6098:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6098:30:136"
                  },
                  "nativeSrc": "6095:50:136",
                  "nodeType": "YulIf",
                  "src": "6095:50:136"
                },
                {
                  "nativeSrc": "6154:116:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6154:116:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6242:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6242:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "6253:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6253:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6238:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6238:3:136"
                        },
                        "nativeSrc": "6238:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6238:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6262:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "6262:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
                      "nativeSrc": "6180:57:136",
                      "nodeType": "YulIdentifier",
                      "src": "6180:57:136"
                    },
                    "nativeSrc": "6180:90:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6180:90:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "6158:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6158:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "6168:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6168:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6279:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6279:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "6289:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6289:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "6279:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6279:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6306:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6306:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "6316:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6316:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "6306:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6306:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6333:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6333:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6366:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6366:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6377:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6377:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6362:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6362:3:136"
                        },
                        "nativeSrc": "6362:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6362:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6349:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6349:12:136"
                    },
                    "nativeSrc": "6349:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6349:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "6337:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6337:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6426:16:136",
                    "nodeType": "YulBlock",
                    "src": "6426:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6435:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6435:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6438:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6438:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6428:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6428:6:136"
                          },
                          "nativeSrc": "6428:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6428:12:136"
                        },
                        "nativeSrc": "6428:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6428:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "6396:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "6396:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6406:18:136",
                        "nodeType": "YulLiteral",
                        "src": "6406:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6393:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6393:2:136"
                    },
                    "nativeSrc": "6393:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6393:32:136"
                  },
                  "nativeSrc": "6390:52:136",
                  "nodeType": "YulIf",
                  "src": "6390:52:136"
                },
                {
                  "nativeSrc": "6451:86:136",
                  "nodeType": "YulAssignment",
                  "src": "6451:86:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6507:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6507:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "6518:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "6518:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6503:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6503:3:136"
                        },
                        "nativeSrc": "6503:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6503:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6529:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "6529:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_DataPullReport_calldata",
                      "nativeSrc": "6461:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "6461:41:136"
                    },
                    "nativeSrc": "6461:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6461:76:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "6451:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6451:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6546:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6546:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6579:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6579:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6590:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6590:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6575:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6575:3:136"
                        },
                        "nativeSrc": "6575:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6575:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6562:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6562:12:136"
                    },
                    "nativeSrc": "6562:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6562:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "6550:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6550:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6639:16:136",
                    "nodeType": "YulBlock",
                    "src": "6639:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6648:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6648:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6651:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6651:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6641:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6641:6:136"
                          },
                          "nativeSrc": "6641:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6641:12:136"
                        },
                        "nativeSrc": "6641:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6641:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "6609:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "6609:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6619:18:136",
                        "nodeType": "YulLiteral",
                        "src": "6619:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6606:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6606:2:136"
                    },
                    "nativeSrc": "6606:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6606:32:136"
                  },
                  "nativeSrc": "6603:52:136",
                  "nodeType": "YulIf",
                  "src": "6603:52:136"
                },
                {
                  "nativeSrc": "6664:118:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6664:118:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6752:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6752:9:136"
                          },
                          {
                            "name": "offset_2",
                            "nativeSrc": "6763:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "6763:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6748:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6748:3:136"
                        },
                        "nativeSrc": "6748:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6748:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6774:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "6774:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_FastForward_calldata_dyn_calldata",
                      "nativeSrc": "6690:57:136",
                      "nodeType": "YulIdentifier",
                      "src": "6690:57:136"
                    },
                    "nativeSrc": "6690:92:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6690:92:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "6668:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6668:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "6678:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6678:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6791:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6791:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "6801:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6801:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "6791:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6791:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6818:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6818:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "6828:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6828:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "6818:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6818:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6845:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6845:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6858:1:136",
                    "nodeType": "YulLiteral",
                    "src": "6858:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "6849:5:136",
                      "nodeType": "YulTypedName",
                      "src": "6849:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6868:41:136",
                  "nodeType": "YulAssignment",
                  "src": "6868:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6894:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6894:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6905:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6905:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6890:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6890:3:136"
                        },
                        "nativeSrc": "6890:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6890:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6877:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6877:12:136"
                    },
                    "nativeSrc": "6877:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6877:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "6868:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6868:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6918:15:136",
                  "nodeType": "YulAssignment",
                  "src": "6918:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "6928:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "6928:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "6918:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6918:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6942:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6942:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6957:1:136",
                    "nodeType": "YulLiteral",
                    "src": "6957:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "6946:7:136",
                      "nodeType": "YulTypedName",
                      "src": "6946:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6967:44:136",
                  "nodeType": "YulAssignment",
                  "src": "6967:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6995:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6995:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7006:3:136",
                            "nodeType": "YulLiteral",
                            "src": "7006:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6991:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6991:3:136"
                        },
                        "nativeSrc": "6991:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6991:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6978:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6978:12:136"
                    },
                    "nativeSrc": "6978:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6978:33:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "6967:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "6967:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "7020:17:136",
                  "nodeType": "YulAssignment",
                  "src": "7020:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "7030:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "7030:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value6",
                      "nativeSrc": "7020:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7020:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptrt_struct$_DataPullReport_$37259_calldata_ptrt_array$_t_bytes32_$dyn_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "5702:1341:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5895:9:136",
                "nodeType": "YulTypedName",
                "src": "5895:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5906:7:136",
                "nodeType": "YulTypedName",
                "src": "5906:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5918:6:136",
                "nodeType": "YulTypedName",
                "src": "5918:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5926:6:136",
                "nodeType": "YulTypedName",
                "src": "5926:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "5934:6:136",
                "nodeType": "YulTypedName",
                "src": "5934:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "5942:6:136",
                "nodeType": "YulTypedName",
                "src": "5942:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "5950:6:136",
                "nodeType": "YulTypedName",
                "src": "5950:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "5958:6:136",
                "nodeType": "YulTypedName",
                "src": "5958:6:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "5966:6:136",
                "nodeType": "YulTypedName",
                "src": "5966:6:136",
                "type": ""
              }
            ],
            "src": "5702:1341:136"
          },
          {
            "body": {
              "nativeSrc": "7157:76:136",
              "nodeType": "YulBlock",
              "src": "7157:76:136",
              "statements": [
                {
                  "nativeSrc": "7167:26:136",
                  "nodeType": "YulAssignment",
                  "src": "7167:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7179:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7179:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7190:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7190:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7175:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7175:3:136"
                    },
                    "nativeSrc": "7175:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7175:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "7167:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "7167:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7209:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7209:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "7220:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7220:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7202:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7202:6:136"
                    },
                    "nativeSrc": "7202:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7202:25:136"
                  },
                  "nativeSrc": "7202:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7202:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed",
            "nativeSrc": "7048:185:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7126:9:136",
                "nodeType": "YulTypedName",
                "src": "7126:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7137:6:136",
                "nodeType": "YulTypedName",
                "src": "7137:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "7148:4:136",
                "nodeType": "YulTypedName",
                "src": "7148:4:136",
                "type": ""
              }
            ],
            "src": "7048:185:136"
          },
          {
            "body": {
              "nativeSrc": "7350:207:136",
              "nodeType": "YulBlock",
              "src": "7350:207:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7396:16:136",
                    "nodeType": "YulBlock",
                    "src": "7396:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7405:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7405:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7408:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7408:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7398:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7398:6:136"
                          },
                          "nativeSrc": "7398:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7398:12:136"
                        },
                        "nativeSrc": "7398:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7398:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7371:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7371:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7380:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7380:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7367:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7367:3:136"
                        },
                        "nativeSrc": "7367:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7367:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7392:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7392:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7363:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7363:3:136"
                    },
                    "nativeSrc": "7363:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7363:32:136"
                  },
                  "nativeSrc": "7360:52:136",
                  "nodeType": "YulIf",
                  "src": "7360:52:136"
                },
                {
                  "nativeSrc": "7421:33:136",
                  "nodeType": "YulAssignment",
                  "src": "7421:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7444:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7444:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7431:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7431:12:136"
                    },
                    "nativeSrc": "7431:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7431:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7421:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7421:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "7463:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7463:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7476:1:136",
                    "nodeType": "YulLiteral",
                    "src": "7476:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "7467:5:136",
                      "nodeType": "YulTypedName",
                      "src": "7467:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7486:41:136",
                  "nodeType": "YulAssignment",
                  "src": "7486:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7512:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7512:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7523:2:136",
                            "nodeType": "YulLiteral",
                            "src": "7523:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7508:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7508:3:136"
                        },
                        "nativeSrc": "7508:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7508:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7495:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7495:12:136"
                    },
                    "nativeSrc": "7495:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7495:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7486:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7486:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "7536:15:136",
                  "nodeType": "YulAssignment",
                  "src": "7536:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "7546:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "7546:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "7536:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7536:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Query_$18074_storage_ptrt_uint256",
            "nativeSrc": "7238:319:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7308:9:136",
                "nodeType": "YulTypedName",
                "src": "7308:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7319:7:136",
                "nodeType": "YulTypedName",
                "src": "7319:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7331:6:136",
                "nodeType": "YulTypedName",
                "src": "7331:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "7339:6:136",
                "nodeType": "YulTypedName",
                "src": "7339:6:136",
                "type": ""
              }
            ],
            "src": "7238:319:136"
          },
          {
            "body": {
              "nativeSrc": "7616:62:136",
              "nodeType": "YulBlock",
              "src": "7616:62:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7650:22:136",
                    "nodeType": "YulBlock",
                    "src": "7650:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "7652:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "7652:16:136"
                          },
                          "nativeSrc": "7652:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7652:18:136"
                        },
                        "nativeSrc": "7652:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7652:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "7639:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "7639:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7646:1:136",
                            "nodeType": "YulLiteral",
                            "src": "7646:1:136",
                            "type": "",
                            "value": "7"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7636:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "7636:2:136"
                        },
                        "nativeSrc": "7636:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7636:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7629:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7629:6:136"
                    },
                    "nativeSrc": "7629:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7629:20:136"
                  },
                  "nativeSrc": "7626:46:136",
                  "nodeType": "YulIf",
                  "src": "7626:46:136"
                }
              ]
            },
            "name": "validator_assert_enum_QueryStatus",
            "nativeSrc": "7562:116:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "7605:5:136",
                "nodeType": "YulTypedName",
                "src": "7605:5:136",
                "type": ""
              }
            ],
            "src": "7562:116:136"
          },
          {
            "body": {
              "nativeSrc": "7807:126:136",
              "nodeType": "YulBlock",
              "src": "7807:126:136",
              "statements": [
                {
                  "nativeSrc": "7817:26:136",
                  "nodeType": "YulAssignment",
                  "src": "7817:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7829:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7829:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7840:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7840:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7825:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7825:3:136"
                    },
                    "nativeSrc": "7825:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7825:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "7817:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "7817:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "7886:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7886:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_assert_enum_QueryStatus",
                      "nativeSrc": "7852:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "7852:33:136"
                    },
                    "nativeSrc": "7852:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7852:41:136"
                  },
                  "nativeSrc": "7852:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7852:41:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7909:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7909:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "7920:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7920:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7902:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7902:6:136"
                    },
                    "nativeSrc": "7902:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7902:25:136"
                  },
                  "nativeSrc": "7902:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7902:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$37335__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "7683:250:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7776:9:136",
                "nodeType": "YulTypedName",
                "src": "7776:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7787:6:136",
                "nodeType": "YulTypedName",
                "src": "7787:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "7798:4:136",
                "nodeType": "YulTypedName",
                "src": "7798:4:136",
                "type": ""
              }
            ],
            "src": "7683:250:136"
          },
          {
            "body": {
              "nativeSrc": "8042:362:136",
              "nodeType": "YulBlock",
              "src": "8042:362:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8088:16:136",
                    "nodeType": "YulBlock",
                    "src": "8088:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8097:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8097:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8100:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8100:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8090:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8090:6:136"
                          },
                          "nativeSrc": "8090:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8090:12:136"
                        },
                        "nativeSrc": "8090:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8090:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8063:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "8063:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8072:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8072:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8059:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8059:3:136"
                        },
                        "nativeSrc": "8059:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8059:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8084:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8084:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8055:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8055:3:136"
                    },
                    "nativeSrc": "8055:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8055:32:136"
                  },
                  "nativeSrc": "8052:52:136",
                  "nodeType": "YulIf",
                  "src": "8052:52:136"
                },
                {
                  "nativeSrc": "8113:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8113:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8126:1:136",
                    "nodeType": "YulLiteral",
                    "src": "8126:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "8117:5:136",
                      "nodeType": "YulTypedName",
                      "src": "8117:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8136:32:136",
                  "nodeType": "YulAssignment",
                  "src": "8136:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8158:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8158:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8145:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8145:12:136"
                    },
                    "nativeSrc": "8145:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8145:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "8136:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "8136:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8177:15:136",
                  "nodeType": "YulAssignment",
                  "src": "8177:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "8187:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "8187:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8177:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8177:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8201:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8201:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8216:1:136",
                    "nodeType": "YulLiteral",
                    "src": "8216:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "8205:7:136",
                      "nodeType": "YulTypedName",
                      "src": "8205:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8226:43:136",
                  "nodeType": "YulAssignment",
                  "src": "8226:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8254:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8254:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8265:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8265:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8250:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8250:3:136"
                        },
                        "nativeSrc": "8250:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8250:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8237:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8237:12:136"
                    },
                    "nativeSrc": "8237:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8237:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "8226:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "8226:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8278:17:136",
                  "nodeType": "YulAssignment",
                  "src": "8278:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "8288:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "8288:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8278:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8278:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8304:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8304:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8319:1:136",
                    "nodeType": "YulLiteral",
                    "src": "8319:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "8308:7:136",
                      "nodeType": "YulTypedName",
                      "src": "8308:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8329:43:136",
                  "nodeType": "YulAssignment",
                  "src": "8329:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8357:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8357:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8368:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8368:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8353:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8353:3:136"
                        },
                        "nativeSrc": "8353:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8353:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8340:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8340:12:136"
                    },
                    "nativeSrc": "8340:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8340:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "8329:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "8329:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8381:17:136",
                  "nodeType": "YulAssignment",
                  "src": "8381:17:136",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "8391:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "8391:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "8381:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8381:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint256t_uint256",
            "nativeSrc": "7938:466:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7992:9:136",
                "nodeType": "YulTypedName",
                "src": "7992:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8003:7:136",
                "nodeType": "YulTypedName",
                "src": "8003:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8015:6:136",
                "nodeType": "YulTypedName",
                "src": "8015:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8023:6:136",
                "nodeType": "YulTypedName",
                "src": "8023:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "8031:6:136",
                "nodeType": "YulTypedName",
                "src": "8031:6:136",
                "type": ""
              }
            ],
            "src": "7938:466:136"
          },
          {
            "body": {
              "nativeSrc": "8553:103:136",
              "nodeType": "YulBlock",
              "src": "8553:103:136",
              "statements": [
                {
                  "nativeSrc": "8563:26:136",
                  "nodeType": "YulAssignment",
                  "src": "8563:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8575:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8575:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8586:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8586:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8571:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8571:3:136"
                    },
                    "nativeSrc": "8571:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8571:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8563:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8563:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8605:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8605:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8620:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8620:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8628:20:136",
                            "nodeType": "YulLiteral",
                            "src": "8628:20:136",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8616:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8616:3:136"
                        },
                        "nativeSrc": "8616:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8616:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8598:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8598:6:136"
                    },
                    "nativeSrc": "8598:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8598:52:136"
                  },
                  "nativeSrc": "8598:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8598:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_QueryEvmReward_$37147__to_t_uint72__fromStack_library_reversed",
            "nativeSrc": "8409:247:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8522:9:136",
                "nodeType": "YulTypedName",
                "src": "8522:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8533:6:136",
                "nodeType": "YulTypedName",
                "src": "8533:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8544:4:136",
                "nodeType": "YulTypedName",
                "src": "8544:4:136",
                "type": ""
              }
            ],
            "src": "8409:247:136"
          },
          {
            "body": {
              "nativeSrc": "8710:124:136",
              "nodeType": "YulBlock",
              "src": "8710:124:136",
              "statements": [
                {
                  "nativeSrc": "8720:29:136",
                  "nodeType": "YulAssignment",
                  "src": "8720:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8742:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8742:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8729:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8729:12:136"
                    },
                    "nativeSrc": "8729:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8729:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "8720:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "8720:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8812:16:136",
                    "nodeType": "YulBlock",
                    "src": "8812:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8821:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8821:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8824:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8824:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8814:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8814:6:136"
                          },
                          "nativeSrc": "8814:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8814:12:136"
                        },
                        "nativeSrc": "8814:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8814:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "8771:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "8771:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "8782:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "8782:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "8797:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "8797:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "8802:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "8802:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "8793:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "8793:3:136"
                                    },
                                    "nativeSrc": "8793:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "8793:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "8806:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "8806:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "8789:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "8789:3:136"
                                },
                                "nativeSrc": "8789:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "8789:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "8778:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "8778:3:136"
                            },
                            "nativeSrc": "8778:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8778:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "8768:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8768:2:136"
                        },
                        "nativeSrc": "8768:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8768:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8761:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8761:6:136"
                    },
                    "nativeSrc": "8761:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8761:50:136"
                  },
                  "nativeSrc": "8758:70:136",
                  "nodeType": "YulIf",
                  "src": "8758:70:136"
                }
              ]
            },
            "name": "abi_decode_address",
            "nativeSrc": "8661:173:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "8689:6:136",
                "nodeType": "YulTypedName",
                "src": "8689:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "8700:5:136",
                "nodeType": "YulTypedName",
                "src": "8700:5:136",
                "type": ""
              }
            ],
            "src": "8661:173:136"
          },
          {
            "body": {
              "nativeSrc": "8926:213:136",
              "nodeType": "YulBlock",
              "src": "8926:213:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8972:16:136",
                    "nodeType": "YulBlock",
                    "src": "8972:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8981:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8981:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8984:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8984:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8974:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8974:6:136"
                          },
                          "nativeSrc": "8974:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8974:12:136"
                        },
                        "nativeSrc": "8974:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8974:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8947:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "8947:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8956:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8956:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8943:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8943:3:136"
                        },
                        "nativeSrc": "8943:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8943:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8968:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8968:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8939:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8939:3:136"
                    },
                    "nativeSrc": "8939:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8939:32:136"
                  },
                  "nativeSrc": "8936:52:136",
                  "nodeType": "YulIf",
                  "src": "8936:52:136"
                },
                {
                  "nativeSrc": "8997:39:136",
                  "nodeType": "YulAssignment",
                  "src": "8997:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9026:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9026:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_address",
                      "nativeSrc": "9007:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "9007:18:136"
                    },
                    "nativeSrc": "9007:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9007:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8997:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8997:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9045:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9045:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9058:1:136",
                    "nodeType": "YulLiteral",
                    "src": "9058:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "9049:5:136",
                      "nodeType": "YulTypedName",
                      "src": "9049:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9068:41:136",
                  "nodeType": "YulAssignment",
                  "src": "9068:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9094:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9094:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9105:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9105:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9090:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9090:3:136"
                        },
                        "nativeSrc": "9090:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9090:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9077:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9077:12:136"
                    },
                    "nativeSrc": "9077:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9077:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "9068:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9068:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9118:15:136",
                  "nodeType": "YulAssignment",
                  "src": "9118:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "9128:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "9128:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9118:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9118:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_uint256",
            "nativeSrc": "8839:300:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8884:9:136",
                "nodeType": "YulTypedName",
                "src": "8884:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8895:7:136",
                "nodeType": "YulTypedName",
                "src": "8895:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8907:6:136",
                "nodeType": "YulTypedName",
                "src": "8907:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8915:6:136",
                "nodeType": "YulTypedName",
                "src": "8915:6:136",
                "type": ""
              }
            ],
            "src": "8839:300:136"
          },
          {
            "body": {
              "nativeSrc": "9214:116:136",
              "nodeType": "YulBlock",
              "src": "9214:116:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9260:16:136",
                    "nodeType": "YulBlock",
                    "src": "9260:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9269:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9269:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9272:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9272:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9262:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9262:6:136"
                          },
                          "nativeSrc": "9262:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9262:12:136"
                        },
                        "nativeSrc": "9262:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9262:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9235:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "9235:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9244:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9244:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9231:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9231:3:136"
                        },
                        "nativeSrc": "9231:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9231:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9256:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9256:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9227:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9227:3:136"
                    },
                    "nativeSrc": "9227:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9227:32:136"
                  },
                  "nativeSrc": "9224:52:136",
                  "nodeType": "YulIf",
                  "src": "9224:52:136"
                },
                {
                  "nativeSrc": "9285:39:136",
                  "nodeType": "YulAssignment",
                  "src": "9285:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9314:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9314:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_address",
                      "nativeSrc": "9295:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "9295:18:136"
                    },
                    "nativeSrc": "9295:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9295:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9285:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9285:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "9144:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9180:9:136",
                "nodeType": "YulTypedName",
                "src": "9180:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9191:7:136",
                "nodeType": "YulTypedName",
                "src": "9191:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9203:6:136",
                "nodeType": "YulTypedName",
                "src": "9203:6:136",
                "type": ""
              }
            ],
            "src": "9144:186:136"
          },
          {
            "body": {
              "nativeSrc": "9474:466:136",
              "nodeType": "YulBlock",
              "src": "9474:466:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9520:16:136",
                    "nodeType": "YulBlock",
                    "src": "9520:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9529:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9529:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9532:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9532:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9522:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9522:6:136"
                          },
                          "nativeSrc": "9522:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9522:12:136"
                        },
                        "nativeSrc": "9522:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9522:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9495:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "9495:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9504:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9504:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9491:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9491:3:136"
                        },
                        "nativeSrc": "9491:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9491:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9516:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9516:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9487:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9487:3:136"
                    },
                    "nativeSrc": "9487:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9487:32:136"
                  },
                  "nativeSrc": "9484:52:136",
                  "nodeType": "YulIf",
                  "src": "9484:52:136"
                },
                {
                  "nativeSrc": "9545:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9545:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9572:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9572:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9559:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9559:12:136"
                    },
                    "nativeSrc": "9559:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9559:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9549:6:136",
                      "nodeType": "YulTypedName",
                      "src": "9549:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9625:16:136",
                    "nodeType": "YulBlock",
                    "src": "9625:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9634:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9634:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9637:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9637:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9627:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9627:6:136"
                          },
                          "nativeSrc": "9627:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9627:12:136"
                        },
                        "nativeSrc": "9627:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9627:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9597:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9597:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9605:18:136",
                        "nodeType": "YulLiteral",
                        "src": "9605:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9594:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "9594:2:136"
                    },
                    "nativeSrc": "9594:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9594:30:136"
                  },
                  "nativeSrc": "9591:50:136",
                  "nodeType": "YulIf",
                  "src": "9591:50:136"
                },
                {
                  "nativeSrc": "9650:84:136",
                  "nodeType": "YulAssignment",
                  "src": "9650:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9706:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9706:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "9717:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9717:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9702:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9702:3:136"
                        },
                        "nativeSrc": "9702:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9702:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9726:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "9726:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_DataPullReport_calldata",
                      "nativeSrc": "9660:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "9660:41:136"
                    },
                    "nativeSrc": "9660:74:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9660:74:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9650:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9650:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9743:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9743:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9756:1:136",
                    "nodeType": "YulLiteral",
                    "src": "9756:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "9747:5:136",
                      "nodeType": "YulTypedName",
                      "src": "9747:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9766:41:136",
                  "nodeType": "YulAssignment",
                  "src": "9766:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9792:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9792:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9803:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9803:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9788:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9788:3:136"
                        },
                        "nativeSrc": "9788:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9788:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9775:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9775:12:136"
                    },
                    "nativeSrc": "9775:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9775:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "9766:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9766:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9816:15:136",
                  "nodeType": "YulAssignment",
                  "src": "9816:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "9826:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "9826:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9816:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9816:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9840:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9840:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9855:1:136",
                    "nodeType": "YulLiteral",
                    "src": "9855:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "9844:7:136",
                      "nodeType": "YulTypedName",
                      "src": "9844:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9865:43:136",
                  "nodeType": "YulAssignment",
                  "src": "9865:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9893:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9893:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9904:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9904:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9889:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9889:3:136"
                        },
                        "nativeSrc": "9889:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9889:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9876:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9876:12:136"
                    },
                    "nativeSrc": "9876:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9876:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "9865:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "9865:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9917:17:136",
                  "nodeType": "YulAssignment",
                  "src": "9917:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "9927:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "9927:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "9917:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9917:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataPullReport_$37259_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "9335:605:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9424:9:136",
                "nodeType": "YulTypedName",
                "src": "9424:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9435:7:136",
                "nodeType": "YulTypedName",
                "src": "9435:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9447:6:136",
                "nodeType": "YulTypedName",
                "src": "9447:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "9455:6:136",
                "nodeType": "YulTypedName",
                "src": "9455:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "9463:6:136",
                "nodeType": "YulTypedName",
                "src": "9463:6:136",
                "type": ""
              }
            ],
            "src": "9335:605:136"
          },
          {
            "body": {
              "nativeSrc": "10333:462:136",
              "nodeType": "YulBlock",
              "src": "10333:462:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10350:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10350:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10365:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10365:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10381:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10381:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10386:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10386:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10377:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10377:3:136"
                                },
                                "nativeSrc": "10377:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10377:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10390:1:136",
                                "nodeType": "YulLiteral",
                                "src": "10390:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10373:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "10373:3:136"
                            },
                            "nativeSrc": "10373:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10373:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10361:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10361:3:136"
                        },
                        "nativeSrc": "10361:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10361:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10343:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10343:6:136"
                    },
                    "nativeSrc": "10343:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10343:51:136"
                  },
                  "nativeSrc": "10343:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10343:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10414:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10414:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10425:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10425:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10410:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10410:3:136"
                        },
                        "nativeSrc": "10410:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10410:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "10430:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "10430:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10403:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10403:6:136"
                    },
                    "nativeSrc": "10403:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10403:34:136"
                  },
                  "nativeSrc": "10403:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10403:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10457:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10457:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10468:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10468:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10453:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10453:3:136"
                        },
                        "nativeSrc": "10453:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10453:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "10477:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10477:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10485:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10485:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10473:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10473:3:136"
                        },
                        "nativeSrc": "10473:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10473:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10446:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10446:6:136"
                    },
                    "nativeSrc": "10446:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10446:59:136"
                  },
                  "nativeSrc": "10446:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10446:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10525:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10525:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10536:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10536:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10521:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10521:3:136"
                        },
                        "nativeSrc": "10521:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10521:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "10545:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10545:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10553:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10553:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10541:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10541:3:136"
                        },
                        "nativeSrc": "10541:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10541:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10514:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10514:6:136"
                    },
                    "nativeSrc": "10514:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10514:59:136"
                  },
                  "nativeSrc": "10514:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10514:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10593:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10593:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10604:3:136",
                            "nodeType": "YulLiteral",
                            "src": "10604:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10589:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10589:3:136"
                        },
                        "nativeSrc": "10589:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10589:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "10614:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10614:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10622:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10622:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10610:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10610:3:136"
                        },
                        "nativeSrc": "10610:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10610:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10582:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10582:6:136"
                    },
                    "nativeSrc": "10582:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10582:60:136"
                  },
                  "nativeSrc": "10582:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10582:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10662:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10662:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10673:3:136",
                            "nodeType": "YulLiteral",
                            "src": "10673:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10658:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10658:3:136"
                        },
                        "nativeSrc": "10658:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10658:19:136"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "10679:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "10679:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10651:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10651:6:136"
                    },
                    "nativeSrc": "10651:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10651:35:136"
                  },
                  "nativeSrc": "10651:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10651:35:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10706:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10706:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10717:3:136",
                            "nodeType": "YulLiteral",
                            "src": "10717:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10702:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10702:3:136"
                        },
                        "nativeSrc": "10702:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10702:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10723:3:136",
                        "nodeType": "YulLiteral",
                        "src": "10723:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10695:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10695:6:136"
                    },
                    "nativeSrc": "10695:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10695:32:136"
                  },
                  "nativeSrc": "10695:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10695:32:136"
                },
                {
                  "nativeSrc": "10736:53:136",
                  "nodeType": "YulAssignment",
                  "src": "10736:53:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value6",
                        "nativeSrc": "10761:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "10761:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10773:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10773:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10784:3:136",
                            "nodeType": "YulLiteral",
                            "src": "10784:3:136",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10769:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10769:3:136"
                        },
                        "nativeSrc": "10769:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10769:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "10744:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "10744:16:136"
                    },
                    "nativeSrc": "10744:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10744:45:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10736:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10736:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_uint256_t_uint64_t_userDefinedValueType$_QueryId_$37151_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_bytes_memory_ptr__to_t_address_t_uint256_t_uint64_t_uint64_t_uint64_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "9945:850:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10254:9:136",
                "nodeType": "YulTypedName",
                "src": "10254:9:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "10265:6:136",
                "nodeType": "YulTypedName",
                "src": "10265:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "10273:6:136",
                "nodeType": "YulTypedName",
                "src": "10273:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "10281:6:136",
                "nodeType": "YulTypedName",
                "src": "10281:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "10289:6:136",
                "nodeType": "YulTypedName",
                "src": "10289:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "10297:6:136",
                "nodeType": "YulTypedName",
                "src": "10297:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "10305:6:136",
                "nodeType": "YulTypedName",
                "src": "10305:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10313:6:136",
                "nodeType": "YulTypedName",
                "src": "10313:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10324:4:136",
                "nodeType": "YulTypedName",
                "src": "10324:4:136",
                "type": ""
              }
            ],
            "src": "9945:850:136"
          },
          {
            "body": {
              "nativeSrc": "10932:126:136",
              "nodeType": "YulBlock",
              "src": "10932:126:136",
              "statements": [
                {
                  "nativeSrc": "10942:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10942:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10954:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10954:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10965:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10965:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10950:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10950:3:136"
                    },
                    "nativeSrc": "10950:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10950:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10942:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10942:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11011:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11011:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_assert_enum_QueryStatus",
                      "nativeSrc": "10977:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "10977:33:136"
                    },
                    "nativeSrc": "10977:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10977:41:136"
                  },
                  "nativeSrc": "10977:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10977:41:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11034:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11034:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "11045:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11045:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11027:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11027:6:136"
                    },
                    "nativeSrc": "11027:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11027:25:136"
                  },
                  "nativeSrc": "11027:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11027:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "10800:258:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10901:9:136",
                "nodeType": "YulTypedName",
                "src": "10901:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10912:6:136",
                "nodeType": "YulTypedName",
                "src": "10912:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10923:4:136",
                "nodeType": "YulTypedName",
                "src": "10923:4:136",
                "type": ""
              }
            ],
            "src": "10800:258:136"
          },
          {
            "body": {
              "nativeSrc": "11167:270:136",
              "nodeType": "YulBlock",
              "src": "11167:270:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11213:16:136",
                    "nodeType": "YulBlock",
                    "src": "11213:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11222:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11222:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11225:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11225:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11215:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11215:6:136"
                          },
                          "nativeSrc": "11215:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11215:12:136"
                        },
                        "nativeSrc": "11215:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11215:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "11188:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "11188:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "11197:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11197:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11184:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11184:3:136"
                        },
                        "nativeSrc": "11184:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11184:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11209:2:136",
                        "nodeType": "YulLiteral",
                        "src": "11209:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "11180:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11180:3:136"
                    },
                    "nativeSrc": "11180:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11180:32:136"
                  },
                  "nativeSrc": "11177:52:136",
                  "nodeType": "YulIf",
                  "src": "11177:52:136"
                },
                {
                  "nativeSrc": "11238:39:136",
                  "nodeType": "YulAssignment",
                  "src": "11238:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11267:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11267:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_address",
                      "nativeSrc": "11248:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "11248:18:136"
                    },
                    "nativeSrc": "11248:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11248:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "11238:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11238:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11286:48:136",
                  "nodeType": "YulAssignment",
                  "src": "11286:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11319:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11319:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11330:2:136",
                            "nodeType": "YulLiteral",
                            "src": "11330:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11315:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11315:3:136"
                        },
                        "nativeSrc": "11315:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11315:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_address",
                      "nativeSrc": "11296:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "11296:18:136"
                    },
                    "nativeSrc": "11296:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11296:38:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "11286:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11286:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11343:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11343:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11356:1:136",
                    "nodeType": "YulLiteral",
                    "src": "11356:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "11347:5:136",
                      "nodeType": "YulTypedName",
                      "src": "11347:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11366:41:136",
                  "nodeType": "YulAssignment",
                  "src": "11366:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11392:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11392:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11403:2:136",
                            "nodeType": "YulLiteral",
                            "src": "11403:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11388:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11388:3:136"
                        },
                        "nativeSrc": "11388:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11388:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11375:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "11375:12:136"
                    },
                    "nativeSrc": "11375:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11375:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "11366:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "11366:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11416:15:136",
                  "nodeType": "YulAssignment",
                  "src": "11416:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "11426:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "11426:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "11416:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11416:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_addresst_uint256",
            "nativeSrc": "11063:374:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11117:9:136",
                "nodeType": "YulTypedName",
                "src": "11117:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "11128:7:136",
                "nodeType": "YulTypedName",
                "src": "11128:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "11140:6:136",
                "nodeType": "YulTypedName",
                "src": "11140:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "11148:6:136",
                "nodeType": "YulTypedName",
                "src": "11148:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "11156:6:136",
                "nodeType": "YulTypedName",
                "src": "11156:6:136",
                "type": ""
              }
            ],
            "src": "11063:374:136"
          },
          {
            "body": {
              "nativeSrc": "11536:427:136",
              "nodeType": "YulBlock",
              "src": "11536:427:136",
              "statements": [
                {
                  "nativeSrc": "11546:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11546:51:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "11585:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "11585:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11572:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "11572:12:136"
                    },
                    "nativeSrc": "11572:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11572:25:136"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "11550:18:136",
                      "nodeType": "YulTypedName",
                      "src": "11550:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11686:16:136",
                    "nodeType": "YulBlock",
                    "src": "11686:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11695:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11695:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11698:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11698:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11688:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11688:6:136"
                          },
                          "nativeSrc": "11688:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11688:12:136"
                        },
                        "nativeSrc": "11688:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11688:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "11620:18:136",
                            "nodeType": "YulIdentifier",
                            "src": "11620:18:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "11648:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11648:12:136"
                                    },
                                    "nativeSrc": "11648:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11648:14:136"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "11664:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11664:8:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "11644:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11644:3:136"
                                },
                                "nativeSrc": "11644:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11644:29:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11679:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11679:2:136",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "11675:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11675:3:136"
                                },
                                "nativeSrc": "11675:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11675:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11640:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11640:3:136"
                            },
                            "nativeSrc": "11640:43:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11640:43:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "11616:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11616:3:136"
                        },
                        "nativeSrc": "11616:68:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11616:68:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11609:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11609:6:136"
                    },
                    "nativeSrc": "11609:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11609:76:136"
                  },
                  "nativeSrc": "11606:96:136",
                  "nodeType": "YulIf",
                  "src": "11606:96:136"
                },
                {
                  "nativeSrc": "11711:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11711:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "11729:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "11729:8:136"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "11739:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "11739:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11725:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11725:3:136"
                    },
                    "nativeSrc": "11725:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11725:33:136"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "11715:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11715:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11767:30:136",
                  "nodeType": "YulAssignment",
                  "src": "11767:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "11790:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11790:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11777:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "11777:12:136"
                    },
                    "nativeSrc": "11777:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11777:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "11767:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11767:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11840:16:136",
                    "nodeType": "YulBlock",
                    "src": "11840:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11849:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11849:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11852:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11852:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11842:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11842:6:136"
                          },
                          "nativeSrc": "11842:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11842:12:136"
                        },
                        "nativeSrc": "11842:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11842:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "11812:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11812:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11820:18:136",
                        "nodeType": "YulLiteral",
                        "src": "11820:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11809:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11809:2:136"
                    },
                    "nativeSrc": "11809:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11809:30:136"
                  },
                  "nativeSrc": "11806:50:136",
                  "nodeType": "YulIf",
                  "src": "11806:50:136"
                },
                {
                  "nativeSrc": "11865:25:136",
                  "nodeType": "YulAssignment",
                  "src": "11865:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "11877:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11877:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11885:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11885:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11873:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11873:3:136"
                    },
                    "nativeSrc": "11873:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11873:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "11865:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "11865:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11941:16:136",
                    "nodeType": "YulBlock",
                    "src": "11941:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11950:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11950:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11953:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11953:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11943:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11943:6:136"
                          },
                          "nativeSrc": "11943:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11943:12:136"
                        },
                        "nativeSrc": "11943:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11943:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "11906:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "11906:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "11916:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "11916:12:136"
                            },
                            "nativeSrc": "11916:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11916:14:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "11932:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11932:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11912:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11912:3:136"
                        },
                        "nativeSrc": "11912:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11912:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "11902:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11902:3:136"
                    },
                    "nativeSrc": "11902:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11902:38:136"
                  },
                  "nativeSrc": "11899:58:136",
                  "nodeType": "YulIf",
                  "src": "11899:58:136"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "11442:521:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "11493:8:136",
                "nodeType": "YulTypedName",
                "src": "11493:8:136",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "11503:11:136",
                "nodeType": "YulTypedName",
                "src": "11503:11:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "11519:4:136",
                "nodeType": "YulTypedName",
                "src": "11519:4:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "11525:6:136",
                "nodeType": "YulTypedName",
                "src": "11525:6:136",
                "type": ""
              }
            ],
            "src": "11442:521:136"
          },
          {
            "body": {
              "nativeSrc": "12036:85:136",
              "nodeType": "YulBlock",
              "src": "12036:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12099:16:136",
                    "nodeType": "YulBlock",
                    "src": "12099:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12108:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12108:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12111:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12111:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12101:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12101:6:136"
                          },
                          "nativeSrc": "12101:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12101:12:136"
                        },
                        "nativeSrc": "12101:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12101:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "12059:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "12059:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "12070:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "12070:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "12077:18:136",
                                "nodeType": "YulLiteral",
                                "src": "12077:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "12066:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12066:3:136"
                            },
                            "nativeSrc": "12066:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12066:30:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "12056:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12056:2:136"
                        },
                        "nativeSrc": "12056:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12056:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12049:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12049:6:136"
                    },
                    "nativeSrc": "12049:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12049:49:136"
                  },
                  "nativeSrc": "12046:69:136",
                  "nodeType": "YulIf",
                  "src": "12046:69:136"
                }
              ]
            },
            "name": "validator_revert_userDefinedValueType_Timestamp",
            "nativeSrc": "11968:153:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "12025:5:136",
                "nodeType": "YulTypedName",
                "src": "12025:5:136",
                "type": ""
              }
            ],
            "src": "11968:153:136"
          },
          {
            "body": {
              "nativeSrc": "12227:200:136",
              "nodeType": "YulBlock",
              "src": "12227:200:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12273:16:136",
                    "nodeType": "YulBlock",
                    "src": "12273:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12282:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12282:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12285:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12285:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12275:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12275:6:136"
                          },
                          "nativeSrc": "12275:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12275:12:136"
                        },
                        "nativeSrc": "12275:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12275:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12248:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "12248:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12257:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12257:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12244:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12244:3:136"
                        },
                        "nativeSrc": "12244:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12244:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12269:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12269:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12240:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12240:3:136"
                    },
                    "nativeSrc": "12240:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12240:32:136"
                  },
                  "nativeSrc": "12237:52:136",
                  "nodeType": "YulIf",
                  "src": "12237:52:136"
                },
                {
                  "nativeSrc": "12298:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12298:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12324:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12324:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12311:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12311:12:136"
                    },
                    "nativeSrc": "12311:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12311:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "12302:5:136",
                      "nodeType": "YulTypedName",
                      "src": "12302:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12391:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "12391:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_Timestamp",
                      "nativeSrc": "12343:47:136",
                      "nodeType": "YulIdentifier",
                      "src": "12343:47:136"
                    },
                    "nativeSrc": "12343:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12343:54:136"
                  },
                  "nativeSrc": "12343:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12343:54:136"
                },
                {
                  "nativeSrc": "12406:15:136",
                  "nodeType": "YulAssignment",
                  "src": "12406:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "12416:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "12416:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12406:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12406:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_Timestamp_$37157",
            "nativeSrc": "12126:301:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12193:9:136",
                "nodeType": "YulTypedName",
                "src": "12193:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12204:7:136",
                "nodeType": "YulTypedName",
                "src": "12204:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12216:6:136",
                "nodeType": "YulTypedName",
                "src": "12216:6:136",
                "type": ""
              }
            ],
            "src": "12126:301:136"
          },
          {
            "body": {
              "nativeSrc": "12464:95:136",
              "nodeType": "YulBlock",
              "src": "12464:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12481:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12481:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "12488:3:136",
                            "nodeType": "YulLiteral",
                            "src": "12488:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12493:10:136",
                            "nodeType": "YulLiteral",
                            "src": "12493:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "12484:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12484:3:136"
                        },
                        "nativeSrc": "12484:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12484:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12474:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12474:6:136"
                    },
                    "nativeSrc": "12474:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12474:31:136"
                  },
                  "nativeSrc": "12474:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12474:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12521:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12521:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12524:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12524:4:136",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12514:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12514:6:136"
                    },
                    "nativeSrc": "12514:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12514:15:136"
                  },
                  "nativeSrc": "12514:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12514:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12545:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12545:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12548:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12548:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "12538:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12538:6:136"
                    },
                    "nativeSrc": "12538:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12538:15:136"
                  },
                  "nativeSrc": "12538:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12538:15:136"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "12432:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "12432:127:136"
          },
          {
            "body": {
              "nativeSrc": "12605:207:136",
              "nodeType": "YulBlock",
              "src": "12605:207:136",
              "statements": [
                {
                  "nativeSrc": "12615:19:136",
                  "nodeType": "YulAssignment",
                  "src": "12615:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12631:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12631:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12625:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "12625:5:136"
                    },
                    "nativeSrc": "12625:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12625:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "12615:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12615:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12643:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12643:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "12665:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12665:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12673:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12673:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12661:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12661:3:136"
                    },
                    "nativeSrc": "12661:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12661:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "12647:10:136",
                      "nodeType": "YulTypedName",
                      "src": "12647:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12753:22:136",
                    "nodeType": "YulBlock",
                    "src": "12753:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "12755:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "12755:16:136"
                          },
                          "nativeSrc": "12755:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12755:18:136"
                        },
                        "nativeSrc": "12755:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12755:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "12696:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "12696:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12708:18:136",
                            "nodeType": "YulLiteral",
                            "src": "12708:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "12693:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12693:2:136"
                        },
                        "nativeSrc": "12693:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12693:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "12732:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "12732:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "12744:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12744:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "12729:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12729:2:136"
                        },
                        "nativeSrc": "12729:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12729:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "12690:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12690:2:136"
                    },
                    "nativeSrc": "12690:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12690:62:136"
                  },
                  "nativeSrc": "12687:88:136",
                  "nodeType": "YulIf",
                  "src": "12687:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12791:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12791:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "12795:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "12795:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12784:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12784:6:136"
                    },
                    "nativeSrc": "12784:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12784:22:136"
                  },
                  "nativeSrc": "12784:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12784:22:136"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "12564:248:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "12594:6:136",
                "nodeType": "YulTypedName",
                "src": "12594:6:136",
                "type": ""
              }
            ],
            "src": "12564:248:136"
          },
          {
            "body": {
              "nativeSrc": "12863:206:136",
              "nodeType": "YulBlock",
              "src": "12863:206:136",
              "statements": [
                {
                  "nativeSrc": "12873:19:136",
                  "nodeType": "YulAssignment",
                  "src": "12873:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12889:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12889:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12883:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "12883:5:136"
                    },
                    "nativeSrc": "12883:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12883:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "12873:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12873:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12901:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12901:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "12923:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12923:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12931:3:136",
                        "nodeType": "YulLiteral",
                        "src": "12931:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12919:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12919:3:136"
                    },
                    "nativeSrc": "12919:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12919:16:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "12905:10:136",
                      "nodeType": "YulTypedName",
                      "src": "12905:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13010:22:136",
                    "nodeType": "YulBlock",
                    "src": "13010:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "13012:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "13012:16:136"
                          },
                          "nativeSrc": "13012:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13012:18:136"
                        },
                        "nativeSrc": "13012:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13012:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "12953:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "12953:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12965:18:136",
                            "nodeType": "YulLiteral",
                            "src": "12965:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "12950:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12950:2:136"
                        },
                        "nativeSrc": "12950:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12950:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "12989:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "12989:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "13001:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13001:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "12986:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12986:2:136"
                        },
                        "nativeSrc": "12986:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12986:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "12947:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12947:2:136"
                    },
                    "nativeSrc": "12947:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12947:62:136"
                  },
                  "nativeSrc": "12944:88:136",
                  "nodeType": "YulIf",
                  "src": "12944:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "13048:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13048:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "13052:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "13052:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13041:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13041:6:136"
                    },
                    "nativeSrc": "13041:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13041:22:136"
                  },
                  "nativeSrc": "13041:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13041:22:136"
                }
              ]
            },
            "name": "allocate_memory_4662",
            "nativeSrc": "12817:252:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "12852:6:136",
                "nodeType": "YulTypedName",
                "src": "12852:6:136",
                "type": ""
              }
            ],
            "src": "12817:252:136"
          },
          {
            "body": {
              "nativeSrc": "13122:111:136",
              "nodeType": "YulBlock",
              "src": "13122:111:136",
              "statements": [
                {
                  "nativeSrc": "13132:29:136",
                  "nodeType": "YulAssignment",
                  "src": "13132:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "13154:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13154:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13141:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "13141:12:136"
                    },
                    "nativeSrc": "13141:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13141:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "13132:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "13132:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13211:16:136",
                    "nodeType": "YulBlock",
                    "src": "13211:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13220:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13220:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13223:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13223:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13213:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13213:6:136"
                          },
                          "nativeSrc": "13213:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13213:12:136"
                        },
                        "nativeSrc": "13213:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13213:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13183:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13183:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13194:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "13194:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13201:6:136",
                                "nodeType": "YulLiteral",
                                "src": "13201:6:136",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13190:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13190:3:136"
                            },
                            "nativeSrc": "13190:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13190:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13180:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "13180:2:136"
                        },
                        "nativeSrc": "13180:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13180:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13173:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13173:6:136"
                    },
                    "nativeSrc": "13173:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13173:37:136"
                  },
                  "nativeSrc": "13170:57:136",
                  "nodeType": "YulIf",
                  "src": "13170:57:136"
                }
              ]
            },
            "name": "abi_decode_uint16",
            "nativeSrc": "13074:159:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "13101:6:136",
                "nodeType": "YulTypedName",
                "src": "13101:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "13112:5:136",
                "nodeType": "YulTypedName",
                "src": "13112:5:136",
                "type": ""
              }
            ],
            "src": "13074:159:136"
          },
          {
            "body": {
              "nativeSrc": "13335:632:136",
              "nodeType": "YulBlock",
              "src": "13335:632:136",
              "statements": [
                {
                  "nativeSrc": "13345:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13345:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13363:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "13363:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13372:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13372:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13359:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13359:3:136"
                        },
                        "nativeSrc": "13359:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13359:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13384:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13384:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13355:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13355:3:136"
                    },
                    "nativeSrc": "13355:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13355:32:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13349:2:136",
                      "nodeType": "YulTypedName",
                      "src": "13349:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13402:16:136",
                    "nodeType": "YulBlock",
                    "src": "13402:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13411:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13411:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13414:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13414:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13404:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13404:6:136"
                          },
                          "nativeSrc": "13404:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13404:12:136"
                        },
                        "nativeSrc": "13404:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13404:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "13399:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "13399:2:136"
                  },
                  "nativeSrc": "13396:22:136",
                  "nodeType": "YulIf",
                  "src": "13396:22:136"
                },
                {
                  "nativeSrc": "13427:7:136",
                  "nodeType": "YulAssignment",
                  "src": "13427:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13433:1:136",
                    "nodeType": "YulLiteral",
                    "src": "13433:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "13427:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13427:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13443:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13443:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13457:1:136",
                    "nodeType": "YulLiteral",
                    "src": "13457:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "13447:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13447:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13467:19:136",
                  "nodeType": "YulAssignment",
                  "src": "13467:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "13483:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13483:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "13477:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "13477:5:136"
                    },
                    "nativeSrc": "13477:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13477:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "13467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13467:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13495:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13495:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "13517:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13517:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13525:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13525:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13513:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13513:3:136"
                    },
                    "nativeSrc": "13513:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13513:15:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "13499:10:136",
                      "nodeType": "YulTypedName",
                      "src": "13499:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13603:22:136",
                    "nodeType": "YulBlock",
                    "src": "13603:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "13605:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "13605:16:136"
                          },
                          "nativeSrc": "13605:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13605:18:136"
                        },
                        "nativeSrc": "13605:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13605:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "13546:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "13546:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13558:18:136",
                            "nodeType": "YulLiteral",
                            "src": "13558:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "13543:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "13543:2:136"
                        },
                        "nativeSrc": "13543:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13543:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "13582:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "13582:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "13594:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13594:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "13579:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "13579:2:136"
                        },
                        "nativeSrc": "13579:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13579:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "13540:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13540:2:136"
                    },
                    "nativeSrc": "13540:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13540:62:136"
                  },
                  "nativeSrc": "13537:88:136",
                  "nodeType": "YulIf",
                  "src": "13537:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "13641:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13641:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "13645:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "13645:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13634:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13634:6:136"
                    },
                    "nativeSrc": "13634:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13634:22:136"
                  },
                  "nativeSrc": "13634:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13634:22:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "13672:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13672:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13698:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13698:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "13680:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "13680:17:136"
                        },
                        "nativeSrc": "13680:28:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13680:28:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13665:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13665:6:136"
                    },
                    "nativeSrc": "13665:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13665:44:136"
                  },
                  "nativeSrc": "13665:44:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13665:44:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "13729:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13729:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13737:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13737:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13725:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13725:3:136"
                        },
                        "nativeSrc": "13725:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13725:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "13764:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "13764:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13775:2:136",
                                "nodeType": "YulLiteral",
                                "src": "13775:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "13760:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13760:3:136"
                            },
                            "nativeSrc": "13760:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13760:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "13742:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "13742:17:136"
                        },
                        "nativeSrc": "13742:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13742:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13718:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13718:6:136"
                    },
                    "nativeSrc": "13718:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13718:62:136"
                  },
                  "nativeSrc": "13718:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13718:62:136"
                },
                {
                  "nativeSrc": "13789:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13789:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13819:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13819:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13830:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13830:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13815:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13815:3:136"
                        },
                        "nativeSrc": "13815:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13815:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13802:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "13802:12:136"
                    },
                    "nativeSrc": "13802:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13802:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13793:5:136",
                      "nodeType": "YulTypedName",
                      "src": "13793:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13891:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "13891:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_Timestamp",
                      "nativeSrc": "13843:47:136",
                      "nodeType": "YulIdentifier",
                      "src": "13843:47:136"
                    },
                    "nativeSrc": "13843:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13843:54:136"
                  },
                  "nativeSrc": "13843:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13843:54:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "13917:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13917:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13925:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13925:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13913:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13913:3:136"
                        },
                        "nativeSrc": "13913:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13913:15:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "13930:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "13930:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13906:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13906:6:136"
                    },
                    "nativeSrc": "13906:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13906:30:136"
                  },
                  "nativeSrc": "13906:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13906:30:136"
                },
                {
                  "nativeSrc": "13945:16:136",
                  "nodeType": "YulAssignment",
                  "src": "13945:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "13955:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "13955:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13945:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13945:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_QuerySLA_$37373_memory_ptr",
            "nativeSrc": "13238:729:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13301:9:136",
                "nodeType": "YulTypedName",
                "src": "13301:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13312:7:136",
                "nodeType": "YulTypedName",
                "src": "13312:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13324:6:136",
                "nodeType": "YulTypedName",
                "src": "13324:6:136",
                "type": ""
              }
            ],
            "src": "13238:729:136"
          },
          {
            "body": {
              "nativeSrc": "14146:170:136",
              "nodeType": "YulBlock",
              "src": "14146:170:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14163:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14163:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14174:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14174:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14156:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14156:6:136"
                    },
                    "nativeSrc": "14156:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14156:21:136"
                  },
                  "nativeSrc": "14156:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14156:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14197:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14197:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14208:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14208:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14193:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14193:3:136"
                        },
                        "nativeSrc": "14193:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14193:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14213:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14213:2:136",
                        "type": "",
                        "value": "20"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14186:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14186:6:136"
                    },
                    "nativeSrc": "14186:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14186:30:136"
                  },
                  "nativeSrc": "14186:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14186:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14236:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14236:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14247:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14247:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14232:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14232:3:136"
                        },
                        "nativeSrc": "14232:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14232:18:136"
                      },
                      {
                        "hexValue": "696e76616c6964207175657279207265706f7274",
                        "kind": "string",
                        "nativeSrc": "14252:22:136",
                        "nodeType": "YulLiteral",
                        "src": "14252:22:136",
                        "type": "",
                        "value": "invalid query report"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14225:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14225:6:136"
                    },
                    "nativeSrc": "14225:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14225:50:136"
                  },
                  "nativeSrc": "14225:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14225:50:136"
                },
                {
                  "nativeSrc": "14284:26:136",
                  "nodeType": "YulAssignment",
                  "src": "14284:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14296:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14296:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14307:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14307:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14292:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14292:3:136"
                    },
                    "nativeSrc": "14292:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14292:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14284:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14284:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "13972:344:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14123:9:136",
                "nodeType": "YulTypedName",
                "src": "14123:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "14137:4:136",
                "nodeType": "YulTypedName",
                "src": "14137:4:136",
                "type": ""
              }
            ],
            "src": "13972:344:136"
          },
          {
            "body": {
              "nativeSrc": "14353:95:136",
              "nodeType": "YulBlock",
              "src": "14353:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "14370:1:136",
                        "nodeType": "YulLiteral",
                        "src": "14370:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "14377:3:136",
                            "nodeType": "YulLiteral",
                            "src": "14377:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14382:10:136",
                            "nodeType": "YulLiteral",
                            "src": "14382:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "14373:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14373:3:136"
                        },
                        "nativeSrc": "14373:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14373:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14363:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14363:6:136"
                    },
                    "nativeSrc": "14363:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14363:31:136"
                  },
                  "nativeSrc": "14363:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14363:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "14410:1:136",
                        "nodeType": "YulLiteral",
                        "src": "14410:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14413:4:136",
                        "nodeType": "YulLiteral",
                        "src": "14413:4:136",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14403:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14403:6:136"
                    },
                    "nativeSrc": "14403:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14403:15:136"
                  },
                  "nativeSrc": "14403:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14403:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "14434:1:136",
                        "nodeType": "YulLiteral",
                        "src": "14434:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14437:4:136",
                        "nodeType": "YulLiteral",
                        "src": "14437:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "14427:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14427:6:136"
                    },
                    "nativeSrc": "14427:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14427:15:136"
                  },
                  "nativeSrc": "14427:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14427:15:136"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "14321:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "14321:127:136"
          },
          {
            "body": {
              "nativeSrc": "14500:144:136",
              "nodeType": "YulBlock",
              "src": "14500:144:136",
              "statements": [
                {
                  "nativeSrc": "14510:66:136",
                  "nodeType": "YulAssignment",
                  "src": "14510:66:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "14525:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "14525:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14528:18:136",
                            "nodeType": "YulLiteral",
                            "src": "14528:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14521:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14521:3:136"
                        },
                        "nativeSrc": "14521:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14521:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "14553:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "14553:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14556:18:136",
                            "nodeType": "YulLiteral",
                            "src": "14556:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14549:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14549:3:136"
                        },
                        "nativeSrc": "14549:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14549:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14517:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14517:3:136"
                    },
                    "nativeSrc": "14517:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14517:59:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "14510:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14510:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14616:22:136",
                    "nodeType": "YulBlock",
                    "src": "14616:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "14618:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "14618:16:136"
                          },
                          "nativeSrc": "14618:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14618:18:136"
                        },
                        "nativeSrc": "14618:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14618:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "14591:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "14591:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14596:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14596:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14588:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14588:2:136"
                    },
                    "nativeSrc": "14588:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14588:27:136"
                  },
                  "nativeSrc": "14585:53:136",
                  "nodeType": "YulIf",
                  "src": "14585:53:136"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "14453:191:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "14483:1:136",
                "nodeType": "YulTypedName",
                "src": "14483:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "14486:1:136",
                "nodeType": "YulTypedName",
                "src": "14486:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "14492:3:136",
                "nodeType": "YulTypedName",
                "src": "14492:3:136",
                "type": ""
              }
            ],
            "src": "14453:191:136"
          },
          {
            "body": {
              "nativeSrc": "14823:172:136",
              "nodeType": "YulBlock",
              "src": "14823:172:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14840:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14840:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14851:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14851:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14833:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14833:6:136"
                    },
                    "nativeSrc": "14833:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14833:21:136"
                  },
                  "nativeSrc": "14833:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14833:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14874:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14874:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14885:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14885:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14870:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14870:3:136"
                        },
                        "nativeSrc": "14870:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14870:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14890:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14890:2:136",
                        "type": "",
                        "value": "22"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14863:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14863:6:136"
                    },
                    "nativeSrc": "14863:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14863:30:136"
                  },
                  "nativeSrc": "14863:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14863:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14913:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14913:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14924:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14924:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14909:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14909:3:136"
                        },
                        "nativeSrc": "14909:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14909:18:136"
                      },
                      {
                        "hexValue": "6d69736c656164696e67206865616420626561636f6e",
                        "kind": "string",
                        "nativeSrc": "14929:24:136",
                        "nodeType": "YulLiteral",
                        "src": "14929:24:136",
                        "type": "",
                        "value": "misleading head beacon"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14902:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14902:6:136"
                    },
                    "nativeSrc": "14902:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14902:52:136"
                  },
                  "nativeSrc": "14902:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14902:52:136"
                },
                {
                  "nativeSrc": "14963:26:136",
                  "nodeType": "YulAssignment",
                  "src": "14963:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14975:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14975:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14986:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14986:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14971:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14971:3:136"
                    },
                    "nativeSrc": "14971:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14971:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14963:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14963:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "14649:346:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14800:9:136",
                "nodeType": "YulTypedName",
                "src": "14800:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "14814:4:136",
                "nodeType": "YulTypedName",
                "src": "14814:4:136",
                "type": ""
              }
            ],
            "src": "14649:346:136"
          },
          {
            "body": {
              "nativeSrc": "15174:170:136",
              "nodeType": "YulBlock",
              "src": "15174:170:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15191:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15191:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15202:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15202:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15184:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15184:6:136"
                    },
                    "nativeSrc": "15184:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15184:21:136"
                  },
                  "nativeSrc": "15184:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15184:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15225:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15225:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15236:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15236:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15221:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15221:3:136"
                        },
                        "nativeSrc": "15221:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15221:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15241:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15241:2:136",
                        "type": "",
                        "value": "20"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15214:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15214:6:136"
                    },
                    "nativeSrc": "15214:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15214:30:136"
                  },
                  "nativeSrc": "15214:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15214:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15264:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15264:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15275:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15275:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15260:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15260:3:136"
                        },
                        "nativeSrc": "15260:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15260:18:136"
                      },
                      {
                        "hexValue": "696e76616c6964206d65726b6c652070726f6f66",
                        "kind": "string",
                        "nativeSrc": "15280:22:136",
                        "nodeType": "YulLiteral",
                        "src": "15280:22:136",
                        "type": "",
                        "value": "invalid merkle proof"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15253:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15253:6:136"
                    },
                    "nativeSrc": "15253:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15253:50:136"
                  },
                  "nativeSrc": "15253:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15253:50:136"
                },
                {
                  "nativeSrc": "15312:26:136",
                  "nodeType": "YulAssignment",
                  "src": "15312:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15324:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15324:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15335:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15335:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15320:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15320:3:136"
                    },
                    "nativeSrc": "15320:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15320:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15312:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "15312:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "15000:344:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15151:9:136",
                "nodeType": "YulTypedName",
                "src": "15151:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15165:4:136",
                "nodeType": "YulTypedName",
                "src": "15165:4:136",
                "type": ""
              }
            ],
            "src": "15000:344:136"
          },
          {
            "body": {
              "nativeSrc": "15381:95:136",
              "nodeType": "YulBlock",
              "src": "15381:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "15398:1:136",
                        "nodeType": "YulLiteral",
                        "src": "15398:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "15405:3:136",
                            "nodeType": "YulLiteral",
                            "src": "15405:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15410:10:136",
                            "nodeType": "YulLiteral",
                            "src": "15410:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "15401:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15401:3:136"
                        },
                        "nativeSrc": "15401:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15401:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15391:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15391:6:136"
                    },
                    "nativeSrc": "15391:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15391:31:136"
                  },
                  "nativeSrc": "15391:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15391:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "15438:1:136",
                        "nodeType": "YulLiteral",
                        "src": "15438:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15441:4:136",
                        "nodeType": "YulLiteral",
                        "src": "15441:4:136",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15431:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15431:6:136"
                    },
                    "nativeSrc": "15431:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15431:15:136"
                  },
                  "nativeSrc": "15431:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15431:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "15462:1:136",
                        "nodeType": "YulLiteral",
                        "src": "15462:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15465:4:136",
                        "nodeType": "YulLiteral",
                        "src": "15465:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "15455:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15455:6:136"
                    },
                    "nativeSrc": "15455:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15455:15:136"
                  },
                  "nativeSrc": "15455:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15455:15:136"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "15349:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "15349:127:136"
          },
          {
            "body": {
              "nativeSrc": "15588:223:136",
              "nodeType": "YulBlock",
              "src": "15588:223:136",
              "statements": [
                {
                  "nativeSrc": "15598:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15598:51:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "15637:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "15637:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15624:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15624:12:136"
                    },
                    "nativeSrc": "15624:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15624:25:136"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "15602:18:136",
                      "nodeType": "YulTypedName",
                      "src": "15602:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15739:16:136",
                    "nodeType": "YulBlock",
                    "src": "15739:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15748:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15748:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15751:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15751:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15741:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15741:6:136"
                          },
                          "nativeSrc": "15741:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15741:12:136"
                        },
                        "nativeSrc": "15741:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15741:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "15672:18:136",
                            "nodeType": "YulIdentifier",
                            "src": "15672:18:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "15700:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "15700:12:136"
                                    },
                                    "nativeSrc": "15700:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "15700:14:136"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "15716:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "15716:8:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "15696:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "15696:3:136"
                                },
                                "nativeSrc": "15696:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "15696:29:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "15731:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "15731:3:136",
                                    "type": "",
                                    "value": "382"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "15727:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "15727:3:136"
                                },
                                "nativeSrc": "15727:8:136",
                                "nodeType": "YulFunctionCall",
                                "src": "15727:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "15692:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15692:3:136"
                            },
                            "nativeSrc": "15692:44:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15692:44:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "15668:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15668:3:136"
                        },
                        "nativeSrc": "15668:69:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15668:69:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15661:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15661:6:136"
                    },
                    "nativeSrc": "15661:77:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15661:77:136"
                  },
                  "nativeSrc": "15658:97:136",
                  "nodeType": "YulIf",
                  "src": "15658:97:136"
                },
                {
                  "nativeSrc": "15764:41:136",
                  "nodeType": "YulAssignment",
                  "src": "15764:41:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "15776:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "15776:8:136"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "15786:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "15786:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15772:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15772:3:136"
                    },
                    "nativeSrc": "15772:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15772:33:136"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "15764:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "15764:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_FastForward_$37306_calldata_ptr",
            "nativeSrc": "15481:330:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "15553:8:136",
                "nodeType": "YulTypedName",
                "src": "15553:8:136",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "15563:11:136",
                "nodeType": "YulTypedName",
                "src": "15563:11:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "15579:4:136",
                "nodeType": "YulTypedName",
                "src": "15579:4:136",
                "type": ""
              }
            ],
            "src": "15481:330:136"
          },
          {
            "body": {
              "nativeSrc": "15864:115:136",
              "nodeType": "YulBlock",
              "src": "15864:115:136",
              "statements": [
                {
                  "nativeSrc": "15874:29:136",
                  "nodeType": "YulAssignment",
                  "src": "15874:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15896:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15896:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15883:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15883:12:136"
                    },
                    "nativeSrc": "15883:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15883:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "15874:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "15874:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15957:16:136",
                    "nodeType": "YulBlock",
                    "src": "15957:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15966:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15966:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15969:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15969:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15959:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15959:6:136"
                          },
                          "nativeSrc": "15959:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15959:12:136"
                        },
                        "nativeSrc": "15959:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15959:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "15925:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "15925:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "15936:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "15936:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15943:10:136",
                                "nodeType": "YulLiteral",
                                "src": "15943:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "15932:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15932:3:136"
                            },
                            "nativeSrc": "15932:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15932:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "15922:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "15922:2:136"
                        },
                        "nativeSrc": "15922:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15922:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15915:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15915:6:136"
                    },
                    "nativeSrc": "15915:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15915:41:136"
                  },
                  "nativeSrc": "15912:61:136",
                  "nodeType": "YulIf",
                  "src": "15912:61:136"
                }
              ]
            },
            "name": "abi_decode_uint32",
            "nativeSrc": "15816:163:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "15843:6:136",
                "nodeType": "YulTypedName",
                "src": "15843:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "15854:5:136",
                "nodeType": "YulTypedName",
                "src": "15854:5:136",
                "type": ""
              }
            ],
            "src": "15816:163:136"
          },
          {
            "body": {
              "nativeSrc": "16053:115:136",
              "nodeType": "YulBlock",
              "src": "16053:115:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16099:16:136",
                    "nodeType": "YulBlock",
                    "src": "16099:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16108:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16108:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16111:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16111:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16101:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16101:6:136"
                          },
                          "nativeSrc": "16101:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16101:12:136"
                        },
                        "nativeSrc": "16101:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16101:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16074:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16074:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16083:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16083:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16070:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16070:3:136"
                        },
                        "nativeSrc": "16070:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16070:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16095:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16095:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16066:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16066:3:136"
                    },
                    "nativeSrc": "16066:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16066:32:136"
                  },
                  "nativeSrc": "16063:52:136",
                  "nodeType": "YulIf",
                  "src": "16063:52:136"
                },
                {
                  "nativeSrc": "16124:38:136",
                  "nodeType": "YulAssignment",
                  "src": "16124:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16152:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16152:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "16134:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "16134:17:136"
                    },
                    "nativeSrc": "16134:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16134:28:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16124:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16124:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "15984:184:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16019:9:136",
                "nodeType": "YulTypedName",
                "src": "16019:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16030:7:136",
                "nodeType": "YulTypedName",
                "src": "16030:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16042:6:136",
                "nodeType": "YulTypedName",
                "src": "16042:6:136",
                "type": ""
              }
            ],
            "src": "15984:184:136"
          },
          {
            "body": {
              "nativeSrc": "16347:228:136",
              "nodeType": "YulBlock",
              "src": "16347:228:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16364:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16364:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16375:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16375:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16357:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16357:6:136"
                    },
                    "nativeSrc": "16357:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16357:21:136"
                  },
                  "nativeSrc": "16357:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16357:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16398:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16398:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16409:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16409:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16394:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16394:3:136"
                        },
                        "nativeSrc": "16394:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16394:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16414:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16414:2:136",
                        "type": "",
                        "value": "38"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16387:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16387:6:136"
                    },
                    "nativeSrc": "16387:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16387:30:136"
                  },
                  "nativeSrc": "16387:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16387:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16437:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16437:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16448:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16448:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16433:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16433:3:136"
                        },
                        "nativeSrc": "16433:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16433:18:136"
                      },
                      {
                        "hexValue": "666173742d666f7277617264696e672066726f6d20756e6d61746368696e6720",
                        "kind": "string",
                        "nativeSrc": "16453:34:136",
                        "nodeType": "YulLiteral",
                        "src": "16453:34:136",
                        "type": "",
                        "value": "fast-forwarding from unmatching "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16426:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16426:6:136"
                    },
                    "nativeSrc": "16426:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16426:62:136"
                  },
                  "nativeSrc": "16426:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16426:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16508:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16508:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16519:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16519:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16504:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16504:3:136"
                        },
                        "nativeSrc": "16504:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16504:18:136"
                      },
                      {
                        "hexValue": "626561636f6e",
                        "kind": "string",
                        "nativeSrc": "16524:8:136",
                        "nodeType": "YulLiteral",
                        "src": "16524:8:136",
                        "type": "",
                        "value": "beacon"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16497:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16497:6:136"
                    },
                    "nativeSrc": "16497:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16497:36:136"
                  },
                  "nativeSrc": "16497:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16497:36:136"
                },
                {
                  "nativeSrc": "16542:27:136",
                  "nodeType": "YulAssignment",
                  "src": "16542:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16554:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16554:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16565:3:136",
                        "nodeType": "YulLiteral",
                        "src": "16565:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16550:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16550:3:136"
                    },
                    "nativeSrc": "16550:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16550:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16542:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16542:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_7f77c2a36003d13fc3beb2f5e9db50b9dbdda64862198a6fa3eb9f4582586ede__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "16173:402:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16324:9:136",
                "nodeType": "YulTypedName",
                "src": "16324:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16338:4:136",
                "nodeType": "YulTypedName",
                "src": "16338:4:136",
                "type": ""
              }
            ],
            "src": "16173:402:136"
          },
          {
            "body": {
              "nativeSrc": "16629:128:136",
              "nodeType": "YulBlock",
              "src": "16629:128:136",
              "statements": [
                {
                  "nativeSrc": "16639:29:136",
                  "nodeType": "YulAssignment",
                  "src": "16639:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16661:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16661:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16648:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16648:12:136"
                    },
                    "nativeSrc": "16648:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16648:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "16639:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "16639:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16735:16:136",
                    "nodeType": "YulBlock",
                    "src": "16735:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16744:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16744:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16747:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16747:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16737:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16737:6:136"
                          },
                          "nativeSrc": "16737:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16737:12:136"
                        },
                        "nativeSrc": "16737:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16737:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16690:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "16690:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "16701:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "16701:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16712:18:136",
                                    "nodeType": "YulLiteral",
                                    "src": "16712:18:136",
                                    "type": "",
                                    "value": "0xffffffffffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "16708:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "16708:3:136"
                                },
                                "nativeSrc": "16708:23:136",
                                "nodeType": "YulFunctionCall",
                                "src": "16708:23:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "16697:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "16697:3:136"
                            },
                            "nativeSrc": "16697:35:136",
                            "nodeType": "YulFunctionCall",
                            "src": "16697:35:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "16687:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "16687:2:136"
                        },
                        "nativeSrc": "16687:46:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16687:46:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16680:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16680:6:136"
                    },
                    "nativeSrc": "16680:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16680:54:136"
                  },
                  "nativeSrc": "16677:74:136",
                  "nodeType": "YulIf",
                  "src": "16677:74:136"
                }
              ]
            },
            "name": "abi_decode_bytes24",
            "nativeSrc": "16580:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "16608:6:136",
                "nodeType": "YulTypedName",
                "src": "16608:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "16619:5:136",
                "nodeType": "YulTypedName",
                "src": "16619:5:136",
                "type": ""
              }
            ],
            "src": "16580:177:136"
          },
          {
            "body": {
              "nativeSrc": "16811:144:136",
              "nodeType": "YulBlock",
              "src": "16811:144:136",
              "statements": [
                {
                  "nativeSrc": "16821:29:136",
                  "nodeType": "YulAssignment",
                  "src": "16821:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16843:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16843:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16830:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16830:12:136"
                    },
                    "nativeSrc": "16830:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16830:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "16821:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "16821:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16933:16:136",
                    "nodeType": "YulBlock",
                    "src": "16933:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16942:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16942:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16945:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16945:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16935:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16935:6:136"
                          },
                          "nativeSrc": "16935:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16935:12:136"
                        },
                        "nativeSrc": "16935:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16935:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16872:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "16872:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "16883:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "16883:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16894:34:136",
                                    "nodeType": "YulLiteral",
                                    "src": "16894:34:136",
                                    "type": "",
                                    "value": "0xffffffffffffffffffffffffffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "16890:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "16890:3:136"
                                },
                                "nativeSrc": "16890:39:136",
                                "nodeType": "YulFunctionCall",
                                "src": "16890:39:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "16879:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "16879:3:136"
                            },
                            "nativeSrc": "16879:51:136",
                            "nodeType": "YulFunctionCall",
                            "src": "16879:51:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "16869:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "16869:2:136"
                        },
                        "nativeSrc": "16869:62:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16869:62:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16862:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16862:6:136"
                    },
                    "nativeSrc": "16862:70:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16862:70:136"
                  },
                  "nativeSrc": "16859:90:136",
                  "nodeType": "YulIf",
                  "src": "16859:90:136"
                }
              ]
            },
            "name": "abi_decode_bytes16",
            "nativeSrc": "16762:193:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "16790:6:136",
                "nodeType": "YulTypedName",
                "src": "16790:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "16801:5:136",
                "nodeType": "YulTypedName",
                "src": "16801:5:136",
                "type": ""
              }
            ],
            "src": "16762:193:136"
          },
          {
            "body": {
              "nativeSrc": "17055:1022:136",
              "nodeType": "YulBlock",
              "src": "17055:1022:136",
              "statements": [
                {
                  "nativeSrc": "17065:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17065:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17083:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17083:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17092:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17092:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17079:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17079:3:136"
                        },
                        "nativeSrc": "17079:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17079:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17104:3:136",
                        "nodeType": "YulLiteral",
                        "src": "17104:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17075:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17075:3:136"
                    },
                    "nativeSrc": "17075:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17075:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "17069:2:136",
                      "nodeType": "YulTypedName",
                      "src": "17069:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17123:16:136",
                    "nodeType": "YulBlock",
                    "src": "17123:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17132:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17132:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17135:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17135:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17125:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17125:6:136"
                          },
                          "nativeSrc": "17125:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17125:12:136"
                        },
                        "nativeSrc": "17125:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17125:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "17120:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "17120:2:136"
                  },
                  "nativeSrc": "17117:22:136",
                  "nodeType": "YulIf",
                  "src": "17117:22:136"
                },
                {
                  "nativeSrc": "17148:7:136",
                  "nodeType": "YulAssignment",
                  "src": "17148:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "17154:1:136",
                    "nodeType": "YulLiteral",
                    "src": "17154:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "17148:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17148:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17164:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17164:30:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "17177:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "17177:15:136"
                    },
                    "nativeSrc": "17177:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17177:17:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17168:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17168:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "17210:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "17210:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17235:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17235:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint32",
                          "nativeSrc": "17217:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "17217:17:136"
                        },
                        "nativeSrc": "17217:28:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17217:28:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17203:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17203:6:136"
                    },
                    "nativeSrc": "17203:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17203:43:136"
                  },
                  "nativeSrc": "17203:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17203:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17266:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17266:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17273:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17273:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17262:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17262:3:136"
                        },
                        "nativeSrc": "17262:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17262:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "17300:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "17300:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17311:2:136",
                                "nodeType": "YulLiteral",
                                "src": "17311:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17296:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17296:3:136"
                            },
                            "nativeSrc": "17296:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17296:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint32",
                          "nativeSrc": "17278:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "17278:17:136"
                        },
                        "nativeSrc": "17278:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17278:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17255:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17255:6:136"
                    },
                    "nativeSrc": "17255:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17255:61:136"
                  },
                  "nativeSrc": "17255:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17255:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17336:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17336:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17343:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17343:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17332:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17332:3:136"
                        },
                        "nativeSrc": "17332:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17332:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "17371:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "17371:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17382:2:136",
                                "nodeType": "YulLiteral",
                                "src": "17382:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17367:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17367:3:136"
                            },
                            "nativeSrc": "17367:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17367:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes24",
                          "nativeSrc": "17348:18:136",
                          "nodeType": "YulIdentifier",
                          "src": "17348:18:136"
                        },
                        "nativeSrc": "17348:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17348:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17325:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17325:6:136"
                    },
                    "nativeSrc": "17325:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17325:62:136"
                  },
                  "nativeSrc": "17325:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17325:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17407:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17407:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17414:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17414:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17403:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17403:3:136"
                        },
                        "nativeSrc": "17403:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17403:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "17442:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "17442:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17453:2:136",
                                "nodeType": "YulLiteral",
                                "src": "17453:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17438:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17438:3:136"
                            },
                            "nativeSrc": "17438:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17438:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes16",
                          "nativeSrc": "17419:18:136",
                          "nodeType": "YulIdentifier",
                          "src": "17419:18:136"
                        },
                        "nativeSrc": "17419:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17419:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17396:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17396:6:136"
                    },
                    "nativeSrc": "17396:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17396:62:136"
                  },
                  "nativeSrc": "17396:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17396:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17478:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17478:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17485:3:136",
                            "nodeType": "YulLiteral",
                            "src": "17485:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17474:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17474:3:136"
                        },
                        "nativeSrc": "17474:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17474:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "17514:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "17514:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17525:3:136",
                                "nodeType": "YulLiteral",
                                "src": "17525:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17510:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17510:3:136"
                            },
                            "nativeSrc": "17510:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17510:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes16",
                          "nativeSrc": "17491:18:136",
                          "nodeType": "YulIdentifier",
                          "src": "17491:18:136"
                        },
                        "nativeSrc": "17491:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17491:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17467:6:136"
                    },
                    "nativeSrc": "17467:64:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17467:64:136"
                  },
                  "nativeSrc": "17467:64:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17467:64:136"
                },
                {
                  "body": {
                    "nativeSrc": "17585:16:136",
                    "nodeType": "YulBlock",
                    "src": "17585:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17594:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17594:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17597:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17597:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17587:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17587:6:136"
                          },
                          "nativeSrc": "17587:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17587:12:136"
                        },
                        "nativeSrc": "17587:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17587:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "17558:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "17558:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17569:3:136",
                                "nodeType": "YulLiteral",
                                "src": "17569:3:136",
                                "type": "",
                                "value": "191"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17554:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17554:3:136"
                            },
                            "nativeSrc": "17554:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17554:19:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17575:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17575:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "17550:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17550:3:136"
                        },
                        "nativeSrc": "17550:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17550:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17543:6:136"
                    },
                    "nativeSrc": "17543:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17543:41:136"
                  },
                  "nativeSrc": "17540:61:136",
                  "nodeType": "YulIf",
                  "src": "17540:61:136"
                },
                {
                  "nativeSrc": "17610:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17610:33:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_4662",
                      "nativeSrc": "17621:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "17621:20:136"
                    },
                    "nativeSrc": "17621:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17621:22:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "17614:3:136",
                      "nodeType": "YulTypedName",
                      "src": "17614:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17652:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17652:16:136",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "17665:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "17665:3:136"
                  },
                  "variables": [
                    {
                      "name": "array",
                      "nativeSrc": "17656:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17656:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17677:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17677:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17695:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17695:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17706:3:136",
                        "nodeType": "YulLiteral",
                        "src": "17706:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17691:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17691:3:136"
                    },
                    "nativeSrc": "17691:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17691:19:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "17681:6:136",
                      "nodeType": "YulTypedName",
                      "src": "17681:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17742:16:136",
                    "nodeType": "YulBlock",
                    "src": "17742:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17751:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17751:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17754:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17754:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17744:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17744:6:136"
                          },
                          "nativeSrc": "17744:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17744:12:136"
                        },
                        "nativeSrc": "17744:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17744:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "17725:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17725:6:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17733:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "17733:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17722:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17722:2:136"
                    },
                    "nativeSrc": "17722:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17722:19:136"
                  },
                  "nativeSrc": "17719:39:136",
                  "nodeType": "YulIf",
                  "src": "17719:39:136"
                },
                {
                  "nativeSrc": "17767:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17767:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17782:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17782:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17793:3:136",
                        "nodeType": "YulLiteral",
                        "src": "17793:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17778:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17778:3:136"
                    },
                    "nativeSrc": "17778:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17778:19:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "17771:3:136",
                      "nodeType": "YulTypedName",
                      "src": "17771:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17862:146:136",
                    "nodeType": "YulBlock",
                    "src": "17862:146:136",
                    "statements": [
                      {
                        "nativeSrc": "17876:16:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "17876:16:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "17891:1:136",
                          "nodeType": "YulLiteral",
                          "src": "17891:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "value_1",
                            "nativeSrc": "17880:7:136",
                            "nodeType": "YulTypedName",
                            "src": "17880:7:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "17905:28:136",
                        "nodeType": "YulAssignment",
                        "src": "17905:28:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "17929:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17929:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "17916:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "17916:12:136"
                          },
                          "nativeSrc": "17916:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17916:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "value_1",
                            "nativeSrc": "17905:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17905:7:136"
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "17953:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17953:3:136"
                            },
                            {
                              "name": "value_1",
                              "nativeSrc": "17958:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "17958:7:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "17946:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17946:6:136"
                          },
                          "nativeSrc": "17946:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17946:20:136"
                        },
                        "nativeSrc": "17946:20:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17946:20:136"
                      },
                      {
                        "nativeSrc": "17979:19:136",
                        "nodeType": "YulAssignment",
                        "src": "17979:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "17990:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17990:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17995:2:136",
                              "nodeType": "YulLiteral",
                              "src": "17995:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "17986:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "17986:3:136"
                          },
                          "nativeSrc": "17986:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17986:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "17979:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "17979:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "17817:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "17817:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "17822:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17822:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "17814:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17814:2:136"
                    },
                    "nativeSrc": "17814:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17814:15:136"
                  },
                  "nativeSrc": "17806:202:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "17830:23:136",
                    "nodeType": "YulBlock",
                    "src": "17830:23:136",
                    "statements": [
                      {
                        "nativeSrc": "17832:19:136",
                        "nodeType": "YulAssignment",
                        "src": "17832:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "17843:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17843:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17848:2:136",
                              "nodeType": "YulLiteral",
                              "src": "17848:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "17839:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "17839:3:136"
                          },
                          "nativeSrc": "17839:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17839:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "17832:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "17832:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "17810:3:136",
                    "nodeType": "YulBlock",
                    "src": "17810:3:136",
                    "statements": []
                  },
                  "src": "17806:202:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "18028:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "18028:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18035:3:136",
                            "nodeType": "YulLiteral",
                            "src": "18035:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18024:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18024:3:136"
                        },
                        "nativeSrc": "18024:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18024:15:136"
                      },
                      {
                        "name": "array",
                        "nativeSrc": "18041:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "18041:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18017:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18017:6:136"
                    },
                    "nativeSrc": "18017:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18017:30:136"
                  },
                  "nativeSrc": "18017:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18017:30:136"
                },
                {
                  "nativeSrc": "18056:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18056:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18066:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18066:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18056:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18056:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Beacon_$37242_memory_ptr",
            "nativeSrc": "16960:1117:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17021:9:136",
                "nodeType": "YulTypedName",
                "src": "17021:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17032:7:136",
                "nodeType": "YulTypedName",
                "src": "17032:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17044:6:136",
                "nodeType": "YulTypedName",
                "src": "17044:6:136",
                "type": ""
              }
            ],
            "src": "16960:1117:136"
          },
          {
            "body": {
              "nativeSrc": "18181:200:136",
              "nodeType": "YulBlock",
              "src": "18181:200:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18227:16:136",
                    "nodeType": "YulBlock",
                    "src": "18227:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18236:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18236:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18239:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18239:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18229:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18229:6:136"
                          },
                          "nativeSrc": "18229:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18229:12:136"
                        },
                        "nativeSrc": "18229:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18229:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18202:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18202:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18211:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18211:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18198:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18198:3:136"
                        },
                        "nativeSrc": "18198:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18198:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18223:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18223:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18194:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18194:3:136"
                    },
                    "nativeSrc": "18194:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18194:32:136"
                  },
                  "nativeSrc": "18191:52:136",
                  "nodeType": "YulIf",
                  "src": "18191:52:136"
                },
                {
                  "nativeSrc": "18252:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18252:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18278:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18278:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18265:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18265:12:136"
                    },
                    "nativeSrc": "18265:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18265:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18256:5:136",
                      "nodeType": "YulTypedName",
                      "src": "18256:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18345:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "18345:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_Timestamp",
                      "nativeSrc": "18297:47:136",
                      "nodeType": "YulIdentifier",
                      "src": "18297:47:136"
                    },
                    "nativeSrc": "18297:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18297:54:136"
                  },
                  "nativeSrc": "18297:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18297:54:136"
                },
                {
                  "nativeSrc": "18360:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18360:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18370:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18370:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18360:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18360:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_QueryId_$37151",
            "nativeSrc": "18082:299:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18147:9:136",
                "nodeType": "YulTypedName",
                "src": "18147:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18158:7:136",
                "nodeType": "YulTypedName",
                "src": "18158:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18170:6:136",
                "nodeType": "YulTypedName",
                "src": "18170:6:136",
                "type": ""
              }
            ],
            "src": "18082:299:136"
          },
          {
            "body": {
              "nativeSrc": "18507:98:136",
              "nodeType": "YulBlock",
              "src": "18507:98:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18524:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18524:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18535:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18535:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18517:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18517:6:136"
                    },
                    "nativeSrc": "18517:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18517:21:136"
                  },
                  "nativeSrc": "18517:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18517:21:136"
                },
                {
                  "nativeSrc": "18547:52:136",
                  "nodeType": "YulAssignment",
                  "src": "18547:52:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "18572:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18572:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18584:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18584:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18595:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18595:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18580:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18580:3:136"
                        },
                        "nativeSrc": "18580:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18580:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "18555:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "18555:16:136"
                    },
                    "nativeSrc": "18555:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18555:44:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18547:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "18547:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "18386:219:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18476:9:136",
                "nodeType": "YulTypedName",
                "src": "18476:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18487:6:136",
                "nodeType": "YulTypedName",
                "src": "18487:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18498:4:136",
                "nodeType": "YulTypedName",
                "src": "18498:4:136",
                "type": ""
              }
            ],
            "src": "18386:219:136"
          },
          {
            "body": {
              "nativeSrc": "18713:200:136",
              "nodeType": "YulBlock",
              "src": "18713:200:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18759:16:136",
                    "nodeType": "YulBlock",
                    "src": "18759:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18768:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18768:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18771:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18771:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18761:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18761:6:136"
                          },
                          "nativeSrc": "18761:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18761:12:136"
                        },
                        "nativeSrc": "18761:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18761:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18734:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18734:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18743:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18743:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18730:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18730:3:136"
                        },
                        "nativeSrc": "18730:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18730:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18755:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18755:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18726:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18726:3:136"
                    },
                    "nativeSrc": "18726:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18726:32:136"
                  },
                  "nativeSrc": "18723:52:136",
                  "nodeType": "YulIf",
                  "src": "18723:52:136"
                },
                {
                  "nativeSrc": "18784:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18784:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18810:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18810:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18797:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18797:12:136"
                    },
                    "nativeSrc": "18797:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18797:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18788:5:136",
                      "nodeType": "YulTypedName",
                      "src": "18788:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18877:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "18877:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_Timestamp",
                      "nativeSrc": "18829:47:136",
                      "nodeType": "YulIdentifier",
                      "src": "18829:47:136"
                    },
                    "nativeSrc": "18829:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18829:54:136"
                  },
                  "nativeSrc": "18829:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18829:54:136"
                },
                {
                  "nativeSrc": "18892:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18892:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18902:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18902:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18892:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18892:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_BlockNumber_$37145",
            "nativeSrc": "18610:303:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18679:9:136",
                "nodeType": "YulTypedName",
                "src": "18679:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18690:7:136",
                "nodeType": "YulTypedName",
                "src": "18690:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18702:6:136",
                "nodeType": "YulTypedName",
                "src": "18702:6:136",
                "type": ""
              }
            ],
            "src": "18610:303:136"
          },
          {
            "body": {
              "nativeSrc": "18973:325:136",
              "nodeType": "YulBlock",
              "src": "18973:325:136",
              "statements": [
                {
                  "nativeSrc": "18983:22:136",
                  "nodeType": "YulAssignment",
                  "src": "18983:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "18997:1:136",
                        "nodeType": "YulLiteral",
                        "src": "18997:1:136",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "19000:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "19000:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "18993:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18993:3:136"
                    },
                    "nativeSrc": "18993:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18993:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "18983:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18983:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "19014:38:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19014:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "19044:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "19044:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19050:1:136",
                        "nodeType": "YulLiteral",
                        "src": "19050:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "19040:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19040:3:136"
                    },
                    "nativeSrc": "19040:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19040:12:136"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "19018:18:136",
                      "nodeType": "YulTypedName",
                      "src": "19018:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19091:31:136",
                    "nodeType": "YulBlock",
                    "src": "19091:31:136",
                    "statements": [
                      {
                        "nativeSrc": "19093:27:136",
                        "nodeType": "YulAssignment",
                        "src": "19093:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "19107:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "19107:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19115:4:136",
                              "nodeType": "YulLiteral",
                              "src": "19115:4:136",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "19103:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "19103:3:136"
                          },
                          "nativeSrc": "19103:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19103:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "19093:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19093:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "19071:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "19071:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19064:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19064:6:136"
                    },
                    "nativeSrc": "19064:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19064:26:136"
                  },
                  "nativeSrc": "19061:61:136",
                  "nodeType": "YulIf",
                  "src": "19061:61:136"
                },
                {
                  "body": {
                    "nativeSrc": "19181:111:136",
                    "nodeType": "YulBlock",
                    "src": "19181:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19202:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19202:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "19209:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "19209:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "19214:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "19214:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "19205:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "19205:3:136"
                              },
                              "nativeSrc": "19205:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "19205:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "19195:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19195:6:136"
                          },
                          "nativeSrc": "19195:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19195:31:136"
                        },
                        "nativeSrc": "19195:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19195:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19246:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19246:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19249:4:136",
                              "nodeType": "YulLiteral",
                              "src": "19249:4:136",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "19239:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19239:6:136"
                          },
                          "nativeSrc": "19239:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19239:15:136"
                        },
                        "nativeSrc": "19239:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19239:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19274:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19274:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19277:4:136",
                              "nodeType": "YulLiteral",
                              "src": "19277:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19267:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19267:6:136"
                          },
                          "nativeSrc": "19267:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19267:15:136"
                        },
                        "nativeSrc": "19267:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19267:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "19137:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "19137:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "19160:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19160:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19168:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19168:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "19157:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "19157:2:136"
                        },
                        "nativeSrc": "19157:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19157:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "19134:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "19134:2:136"
                    },
                    "nativeSrc": "19134:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19134:38:136"
                  },
                  "nativeSrc": "19131:161:136",
                  "nodeType": "YulIf",
                  "src": "19131:161:136"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "18918:380:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "18953:4:136",
                "nodeType": "YulTypedName",
                "src": "18953:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "18962:6:136",
                "nodeType": "YulTypedName",
                "src": "18962:6:136",
                "type": ""
              }
            ],
            "src": "18918:380:136"
          },
          {
            "body": {
              "nativeSrc": "19358:65:136",
              "nodeType": "YulBlock",
              "src": "19358:65:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19375:1:136",
                        "nodeType": "YulLiteral",
                        "src": "19375:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "19378:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "19378:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19368:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19368:6:136"
                    },
                    "nativeSrc": "19368:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19368:14:136"
                  },
                  "nativeSrc": "19368:14:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19368:14:136"
                },
                {
                  "nativeSrc": "19391:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19391:26:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19409:1:136",
                        "nodeType": "YulLiteral",
                        "src": "19409:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19412:4:136",
                        "nodeType": "YulLiteral",
                        "src": "19412:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "19399:9:136",
                      "nodeType": "YulIdentifier",
                      "src": "19399:9:136"
                    },
                    "nativeSrc": "19399:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19399:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "19391:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19391:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "19303:120:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "19341:3:136",
                "nodeType": "YulTypedName",
                "src": "19341:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "19349:4:136",
                "nodeType": "YulTypedName",
                "src": "19349:4:136",
                "type": ""
              }
            ],
            "src": "19303:120:136"
          },
          {
            "body": {
              "nativeSrc": "19632:896:136",
              "nodeType": "YulBlock",
              "src": "19632:896:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19649:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19649:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "19660:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19660:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19642:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19642:6:136"
                    },
                    "nativeSrc": "19642:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19642:25:136"
                  },
                  "nativeSrc": "19642:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19642:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19687:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19687:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19698:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19698:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19683:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19683:3:136"
                        },
                        "nativeSrc": "19683:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19683:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "19707:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19707:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19715:18:136",
                            "nodeType": "YulLiteral",
                            "src": "19715:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19703:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19703:3:136"
                        },
                        "nativeSrc": "19703:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19703:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19676:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19676:6:136"
                    },
                    "nativeSrc": "19676:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19676:59:136"
                  },
                  "nativeSrc": "19676:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19676:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19755:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19755:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19766:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19766:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19751:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19751:3:136"
                        },
                        "nativeSrc": "19751:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19751:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19771:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19771:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19744:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19744:6:136"
                    },
                    "nativeSrc": "19744:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19744:30:136"
                  },
                  "nativeSrc": "19744:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19744:30:136"
                },
                {
                  "nativeSrc": "19783:12:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19783:12:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19794:1:136",
                    "nodeType": "YulLiteral",
                    "src": "19794:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "19787:3:136",
                      "nodeType": "YulTypedName",
                      "src": "19787:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19804:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19804:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "19827:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19827:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "19821:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19821:5:136"
                    },
                    "nativeSrc": "19821:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19821:13:136"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "19808:9:136",
                      "nodeType": "YulTypedName",
                      "src": "19808:9:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19843:50:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19843:50:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "19883:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19883:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "19857:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "19857:25:136"
                    },
                    "nativeSrc": "19857:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19857:36:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19847:6:136",
                      "nodeType": "YulTypedName",
                      "src": "19847:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19913:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19913:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19924:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19924:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19909:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19909:3:136"
                        },
                        "nativeSrc": "19909:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19909:18:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19929:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19929:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19902:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19902:6:136"
                    },
                    "nativeSrc": "19902:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19902:34:136"
                  },
                  "nativeSrc": "19902:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19902:34:136"
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "19985:153:136",
                        "nodeType": "YulBlock",
                        "src": "19985:153:136",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "20010:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20010:9:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "20021:3:136",
                                      "nodeType": "YulLiteral",
                                      "src": "20021:3:136",
                                      "type": "",
                                      "value": "128"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "20006:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "20006:3:136"
                                  },
                                  "nativeSrc": "20006:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "20006:19:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "20031:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20031:9:136"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "20046:3:136",
                                          "nodeType": "YulLiteral",
                                          "src": "20046:3:136",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "20042:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "20042:3:136"
                                      },
                                      "nativeSrc": "20042:8:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "20042:8:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "20027:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "20027:3:136"
                                  },
                                  "nativeSrc": "20027:24:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "20027:24:136"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "19999:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "19999:6:136"
                              },
                              "nativeSrc": "19999:53:136",
                              "nodeType": "YulFunctionCall",
                              "src": "19999:53:136"
                            },
                            "nativeSrc": "19999:53:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "19999:53:136"
                          },
                          {
                            "nativeSrc": "20065:63:136",
                            "nodeType": "YulAssignment",
                            "src": "20065:63:136",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "20080:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20080:9:136"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "20095:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "20095:1:136",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "20112:6:136",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "20112:6:136"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "20105:6:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "20105:6:136"
                                              },
                                              "nativeSrc": "20105:14:136",
                                              "nodeType": "YulFunctionCall",
                                              "src": "20105:14:136"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "20098:6:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "20098:6:136"
                                          },
                                          "nativeSrc": "20098:22:136",
                                          "nodeType": "YulFunctionCall",
                                          "src": "20098:22:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "20091:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "20091:3:136"
                                      },
                                      "nativeSrc": "20091:30:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "20091:30:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "20076:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "20076:3:136"
                                  },
                                  "nativeSrc": "20076:46:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "20076:46:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "20124:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "20124:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "20072:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "20072:3:136"
                              },
                              "nativeSrc": "20072:56:136",
                              "nodeType": "YulFunctionCall",
                              "src": "20072:56:136"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "20065:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "20065:3:136"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "19978:160:136",
                      "nodeType": "YulCase",
                      "src": "19978:160:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "19983:1:136",
                        "nodeType": "YulLiteral",
                        "src": "19983:1:136",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "20154:348:136",
                        "nodeType": "YulBlock",
                        "src": "20154:348:136",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "20175:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "20175:1:136",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value2",
                                  "nativeSrc": "20178:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "20178:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "20168:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "20168:6:136"
                              },
                              "nativeSrc": "20168:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "20168:17:136"
                            },
                            "nativeSrc": "20168:17:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "20168:17:136"
                          },
                          {
                            "nativeSrc": "20198:31:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "20198:31:136",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "20223:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "20223:1:136",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "20226:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "20226:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "20213:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20213:9:136"
                              },
                              "nativeSrc": "20213:16:136",
                              "nodeType": "YulFunctionCall",
                              "src": "20213:16:136"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "20202:7:136",
                                "nodeType": "YulTypedName",
                                "src": "20202:7:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "20242:10:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "20242:10:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "20251:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20251:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "20246:1:136",
                                "nodeType": "YulTypedName",
                                "src": "20246:1:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "20319:126:136",
                              "nodeType": "YulBlock",
                              "src": "20319:126:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "20352:9:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "20352:9:136"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "20363:1:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "20363:1:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "20348:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "20348:3:136"
                                            },
                                            "nativeSrc": "20348:17:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "20348:17:136"
                                          },
                                          {
                                            "kind": "number",
                                            "nativeSrc": "20367:3:136",
                                            "nodeType": "YulLiteral",
                                            "src": "20367:3:136",
                                            "type": "",
                                            "value": "128"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "20344:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "20344:3:136"
                                        },
                                        "nativeSrc": "20344:27:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "20344:27:136"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "20379:7:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "20379:7:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "20373:5:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "20373:5:136"
                                        },
                                        "nativeSrc": "20373:14:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "20373:14:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "20337:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20337:6:136"
                                    },
                                    "nativeSrc": "20337:51:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20337:51:136"
                                  },
                                  "nativeSrc": "20337:51:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "20337:51:136"
                                },
                                {
                                  "nativeSrc": "20405:26:136",
                                  "nodeType": "YulAssignment",
                                  "src": "20405:26:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "20420:7:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "20420:7:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "20429:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "20429:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "20416:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20416:3:136"
                                    },
                                    "nativeSrc": "20416:15:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20416:15:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "20405:7:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20405:7:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "20276:1:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "20276:1:136"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "20279:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "20279:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "20273:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "20273:2:136"
                              },
                              "nativeSrc": "20273:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "20273:13:136"
                            },
                            "nativeSrc": "20265:180:136",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "20287:19:136",
                              "nodeType": "YulBlock",
                              "src": "20287:19:136",
                              "statements": [
                                {
                                  "nativeSrc": "20289:15:136",
                                  "nodeType": "YulAssignment",
                                  "src": "20289:15:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "20298:1:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "20298:1:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "20301:2:136",
                                        "nodeType": "YulLiteral",
                                        "src": "20301:2:136",
                                        "type": "",
                                        "value": "32"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "20294:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20294:3:136"
                                    },
                                    "nativeSrc": "20294:10:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20294:10:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "20289:1:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20289:1:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "20269:3:136",
                              "nodeType": "YulBlock",
                              "src": "20269:3:136",
                              "statements": []
                            },
                            "src": "20265:180:136"
                          },
                          {
                            "nativeSrc": "20458:34:136",
                            "nodeType": "YulAssignment",
                            "src": "20458:34:136",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "20473:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20473:9:136"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "20484:1:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "20484:1:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "20469:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "20469:3:136"
                                  },
                                  "nativeSrc": "20469:17:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "20469:17:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "20488:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "20488:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "20465:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "20465:3:136"
                              },
                              "nativeSrc": "20465:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "20465:27:136"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "20458:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "20458:3:136"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "20147:355:136",
                      "nodeType": "YulCase",
                      "src": "20147:355:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "20152:1:136",
                        "nodeType": "YulLiteral",
                        "src": "20152:1:136",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "19956:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19956:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19967:1:136",
                        "nodeType": "YulLiteral",
                        "src": "19967:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "19952:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19952:3:136"
                    },
                    "nativeSrc": "19952:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19952:17:136"
                  },
                  "nativeSrc": "19945:557:136",
                  "nodeType": "YulSwitch",
                  "src": "19945:557:136"
                },
                {
                  "nativeSrc": "20511:11:136",
                  "nodeType": "YulAssignment",
                  "src": "20511:11:136",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "20519:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "20519:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20511:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "20511:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_storage__to_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "19428:1100:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19585:9:136",
                "nodeType": "YulTypedName",
                "src": "19585:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "19596:6:136",
                "nodeType": "YulTypedName",
                "src": "19596:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19604:6:136",
                "nodeType": "YulTypedName",
                "src": "19604:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19612:6:136",
                "nodeType": "YulTypedName",
                "src": "19612:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19623:4:136",
                "nodeType": "YulTypedName",
                "src": "19623:4:136",
                "type": ""
              }
            ],
            "src": "19428:1100:136"
          },
          {
            "body": {
              "nativeSrc": "20599:200:136",
              "nodeType": "YulBlock",
              "src": "20599:200:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "20616:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "20616:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "20621:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20621:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20609:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20609:6:136"
                    },
                    "nativeSrc": "20609:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20609:19:136"
                  },
                  "nativeSrc": "20609:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20609:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "20654:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "20654:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20659:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20659:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20650:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20650:3:136"
                        },
                        "nativeSrc": "20650:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20650:14:136"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "20666:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "20666:5:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "20673:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20673:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "20637:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "20637:12:136"
                    },
                    "nativeSrc": "20637:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20637:43:136"
                  },
                  "nativeSrc": "20637:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20637:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "20704:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "20704:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "20709:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "20709:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20700:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20700:3:136"
                            },
                            "nativeSrc": "20700:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20700:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20718:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20718:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20696:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20696:3:136"
                        },
                        "nativeSrc": "20696:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20696:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20725:1:136",
                        "nodeType": "YulLiteral",
                        "src": "20725:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20689:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20689:6:136"
                    },
                    "nativeSrc": "20689:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20689:38:136"
                  },
                  "nativeSrc": "20689:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20689:38:136"
                },
                {
                  "nativeSrc": "20736:57:136",
                  "nodeType": "YulAssignment",
                  "src": "20736:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "20751:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "20751:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "20764:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "20764:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20772:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "20772:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "20760:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "20760:3:136"
                                },
                                "nativeSrc": "20760:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "20760:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20781:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "20781:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "20777:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "20777:3:136"
                                },
                                "nativeSrc": "20777:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "20777:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "20756:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20756:3:136"
                            },
                            "nativeSrc": "20756:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20756:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20747:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20747:3:136"
                        },
                        "nativeSrc": "20747:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20747:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20788:4:136",
                        "nodeType": "YulLiteral",
                        "src": "20788:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20743:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20743:3:136"
                    },
                    "nativeSrc": "20743:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20743:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "20736:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20736:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes_calldata",
            "nativeSrc": "20533:266:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "20568:5:136",
                "nodeType": "YulTypedName",
                "src": "20568:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "20575:6:136",
                "nodeType": "YulTypedName",
                "src": "20575:6:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "20583:3:136",
                "nodeType": "YulTypedName",
                "src": "20583:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "20591:3:136",
                "nodeType": "YulTypedName",
                "src": "20591:3:136",
                "type": ""
              }
            ],
            "src": "20533:266:136"
          },
          {
            "body": {
              "nativeSrc": "21058:226:136",
              "nodeType": "YulBlock",
              "src": "21058:226:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21075:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21075:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "21086:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21086:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21068:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21068:6:136"
                    },
                    "nativeSrc": "21068:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21068:25:136"
                  },
                  "nativeSrc": "21068:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21068:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21113:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21113:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21124:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21124:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21109:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21109:3:136"
                        },
                        "nativeSrc": "21109:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21109:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "21133:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21133:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21141:18:136",
                            "nodeType": "YulLiteral",
                            "src": "21141:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "21129:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21129:3:136"
                        },
                        "nativeSrc": "21129:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21129:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21102:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21102:6:136"
                    },
                    "nativeSrc": "21102:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21102:59:136"
                  },
                  "nativeSrc": "21102:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21102:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21181:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21181:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21192:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21192:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21177:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21177:3:136"
                        },
                        "nativeSrc": "21177:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21177:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21197:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21197:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21170:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21170:6:136"
                    },
                    "nativeSrc": "21170:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21170:30:136"
                  },
                  "nativeSrc": "21170:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21170:30:136"
                },
                {
                  "nativeSrc": "21209:69:136",
                  "nodeType": "YulAssignment",
                  "src": "21209:69:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "21243:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21243:6:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "21251:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21251:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21263:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21263:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21274:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21274:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21259:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21259:3:136"
                        },
                        "nativeSrc": "21259:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21259:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "21217:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "21217:25:136"
                    },
                    "nativeSrc": "21217:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21217:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21209:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "21209:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "20804:480:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21003:9:136",
                "nodeType": "YulTypedName",
                "src": "21003:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "21014:6:136",
                "nodeType": "YulTypedName",
                "src": "21014:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "21022:6:136",
                "nodeType": "YulTypedName",
                "src": "21022:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21030:6:136",
                "nodeType": "YulTypedName",
                "src": "21030:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21038:6:136",
                "nodeType": "YulTypedName",
                "src": "21038:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21049:4:136",
                "nodeType": "YulTypedName",
                "src": "21049:4:136",
                "type": ""
              }
            ],
            "src": "20804:480:136"
          },
          {
            "body": {
              "nativeSrc": "21463:172:136",
              "nodeType": "YulBlock",
              "src": "21463:172:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21480:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21480:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21491:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21491:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21473:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21473:6:136"
                    },
                    "nativeSrc": "21473:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21473:21:136"
                  },
                  "nativeSrc": "21473:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21473:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21514:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21514:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21525:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21525:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21510:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21510:3:136"
                        },
                        "nativeSrc": "21510:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21510:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21530:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21530:2:136",
                        "type": "",
                        "value": "22"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21503:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21503:6:136"
                    },
                    "nativeSrc": "21503:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21503:30:136"
                  },
                  "nativeSrc": "21503:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21503:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21553:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21553:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21564:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21564:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21549:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21549:3:136"
                        },
                        "nativeSrc": "21549:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21549:18:136"
                      },
                      {
                        "hexValue": "70726f76696e67206e6f2066616b65207265706f7274",
                        "kind": "string",
                        "nativeSrc": "21569:24:136",
                        "nodeType": "YulLiteral",
                        "src": "21569:24:136",
                        "type": "",
                        "value": "proving no fake report"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21542:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21542:6:136"
                    },
                    "nativeSrc": "21542:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21542:52:136"
                  },
                  "nativeSrc": "21542:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21542:52:136"
                },
                {
                  "nativeSrc": "21603:26:136",
                  "nodeType": "YulAssignment",
                  "src": "21603:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21615:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21615:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21626:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21626:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21611:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21611:3:136"
                    },
                    "nativeSrc": "21611:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21611:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21603:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "21603:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_24bdda1cf2a692f83edcf117fd882ed46cbe111e98e12fb2697ec59abde15abf__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "21289:346:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21440:9:136",
                "nodeType": "YulTypedName",
                "src": "21440:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21454:4:136",
                "nodeType": "YulTypedName",
                "src": "21454:4:136",
                "type": ""
              }
            ],
            "src": "21289:346:136"
          },
          {
            "body": {
              "nativeSrc": "21720:437:136",
              "nodeType": "YulBlock",
              "src": "21720:437:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21753:398:136",
                    "nodeType": "YulBlock",
                    "src": "21753:398:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21774:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21774:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "21777:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "21777:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "21767:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21767:6:136"
                          },
                          "nativeSrc": "21767:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21767:16:136"
                        },
                        "nativeSrc": "21767:16:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21767:16:136"
                      },
                      {
                        "nativeSrc": "21796:30:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "21796:30:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21818:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21818:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21821:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21821:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "21808:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21808:9:136"
                          },
                          "nativeSrc": "21808:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21808:18:136"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "21800:4:136",
                            "nodeType": "YulTypedName",
                            "src": "21800:4:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "21839:57:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "21839:57:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "21862:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "21862:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "21872:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "21872:1:136",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "21879:10:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "21879:10:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "21891:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "21891:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "21875:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "21875:3:136"
                                  },
                                  "nativeSrc": "21875:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "21875:19:136"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "21868:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "21868:3:136"
                              },
                              "nativeSrc": "21868:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "21868:27:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21858:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21858:3:136"
                          },
                          "nativeSrc": "21858:38:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21858:38:136"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "21843:11:136",
                            "nodeType": "YulTypedName",
                            "src": "21843:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "21933:23:136",
                          "nodeType": "YulBlock",
                          "src": "21933:23:136",
                          "statements": [
                            {
                              "nativeSrc": "21935:19:136",
                              "nodeType": "YulAssignment",
                              "src": "21935:19:136",
                              "value": {
                                "name": "data",
                                "nativeSrc": "21950:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "21950:4:136"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "21935:11:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "21935:11:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "21915:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "21915:10:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21927:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21927:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "21912:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21912:2:136"
                          },
                          "nativeSrc": "21912:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21912:20:136"
                        },
                        "nativeSrc": "21909:47:136",
                        "nodeType": "YulIf",
                        "src": "21909:47:136"
                      },
                      {
                        "nativeSrc": "21969:41:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "21969:41:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "21983:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "21983:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "21993:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "21993:1:136",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "22000:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22000:3:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "22005:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "22005:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "21996:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "21996:3:136"
                                  },
                                  "nativeSrc": "21996:12:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "21996:12:136"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "21989:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "21989:3:136"
                              },
                              "nativeSrc": "21989:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "21989:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21979:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21979:3:136"
                          },
                          "nativeSrc": "21979:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21979:31:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "21973:2:136",
                            "nodeType": "YulTypedName",
                            "src": "21973:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "22023:24:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "22023:24:136",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "22036:11:136",
                          "nodeType": "YulIdentifier",
                          "src": "22036:11:136"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "22027:5:136",
                            "nodeType": "YulTypedName",
                            "src": "22027:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "22121:20:136",
                          "nodeType": "YulBlock",
                          "src": "22121:20:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "22130:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "22130:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22137:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "22137:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "22123:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22123:6:136"
                                },
                                "nativeSrc": "22123:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "22123:16:136"
                              },
                              "nativeSrc": "22123:16:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "22123:16:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "22071:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "22071:5:136"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "22078:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "22078:2:136"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "22068:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "22068:2:136"
                          },
                          "nativeSrc": "22068:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22068:13:136"
                        },
                        "nativeSrc": "22060:81:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "22082:26:136",
                          "nodeType": "YulBlock",
                          "src": "22082:26:136",
                          "statements": [
                            {
                              "nativeSrc": "22084:22:136",
                              "nodeType": "YulAssignment",
                              "src": "22084:22:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "22097:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "22097:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22104:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "22104:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "22093:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22093:3:136"
                                },
                                "nativeSrc": "22093:13:136",
                                "nodeType": "YulFunctionCall",
                                "src": "22093:13:136"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "22084:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22084:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "22064:3:136",
                          "nodeType": "YulBlock",
                          "src": "22064:3:136",
                          "statements": []
                        },
                        "src": "22060:81:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "21736:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "21736:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21741:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21741:2:136",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21733:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21733:2:136"
                    },
                    "nativeSrc": "21733:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21733:11:136"
                  },
                  "nativeSrc": "21730:421:136",
                  "nodeType": "YulIf",
                  "src": "21730:421:136"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "21640:517:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "21692:5:136",
                "nodeType": "YulTypedName",
                "src": "21692:5:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "21699:3:136",
                "nodeType": "YulTypedName",
                "src": "21699:3:136",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "21704:10:136",
                "nodeType": "YulTypedName",
                "src": "21704:10:136",
                "type": ""
              }
            ],
            "src": "21640:517:136"
          },
          {
            "body": {
              "nativeSrc": "22247:81:136",
              "nodeType": "YulBlock",
              "src": "22247:81:136",
              "statements": [
                {
                  "nativeSrc": "22257:65:136",
                  "nodeType": "YulAssignment",
                  "src": "22257:65:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "22272:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "22272:4:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "22290:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "22290:1:136",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "22293:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "22293:3:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "22286:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22286:3:136"
                                    },
                                    "nativeSrc": "22286:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22286:11:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "22303:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "22303:1:136",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "22299:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22299:3:136"
                                    },
                                    "nativeSrc": "22299:6:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22299:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "22282:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22282:3:136"
                                },
                                "nativeSrc": "22282:24:136",
                                "nodeType": "YulFunctionCall",
                                "src": "22282:24:136"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "22278:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "22278:3:136"
                            },
                            "nativeSrc": "22278:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "22278:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22268:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22268:3:136"
                        },
                        "nativeSrc": "22268:40:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22268:40:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22314:1:136",
                            "nodeType": "YulLiteral",
                            "src": "22314:1:136",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "22317:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "22317:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "22310:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22310:3:136"
                        },
                        "nativeSrc": "22310:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22310:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "22265:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22265:2:136"
                    },
                    "nativeSrc": "22265:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22265:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "22257:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "22257:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "22162:166:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "22224:4:136",
                "nodeType": "YulTypedName",
                "src": "22224:4:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "22230:3:136",
                "nodeType": "YulTypedName",
                "src": "22230:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "22238:4:136",
                "nodeType": "YulTypedName",
                "src": "22238:4:136",
                "type": ""
              }
            ],
            "src": "22162:166:136"
          },
          {
            "body": {
              "nativeSrc": "22434:1093:136",
              "nodeType": "YulBlock",
              "src": "22434:1093:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22475:22:136",
                    "nodeType": "YulBlock",
                    "src": "22475:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "22477:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "22477:16:136"
                          },
                          "nativeSrc": "22477:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22477:18:136"
                        },
                        "nativeSrc": "22477:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22477:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "22450:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "22450:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22455:18:136",
                        "nodeType": "YulLiteral",
                        "src": "22455:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22447:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22447:2:136"
                    },
                    "nativeSrc": "22447:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22447:27:136"
                  },
                  "nativeSrc": "22444:53:136",
                  "nodeType": "YulIf",
                  "src": "22444:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "22549:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "22549:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "22587:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "22587:4:136"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "22581:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "22581:5:136"
                            },
                            "nativeSrc": "22581:11:136",
                            "nodeType": "YulFunctionCall",
                            "src": "22581:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "22555:25:136",
                          "nodeType": "YulIdentifier",
                          "src": "22555:25:136"
                        },
                        "nativeSrc": "22555:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22555:38:136"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "22595:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "22595:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "22506:42:136",
                      "nodeType": "YulIdentifier",
                      "src": "22506:42:136"
                    },
                    "nativeSrc": "22506:93:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22506:93:136"
                  },
                  "nativeSrc": "22506:93:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22506:93:136"
                },
                {
                  "nativeSrc": "22608:18:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22608:18:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "22625:1:136",
                    "nodeType": "YulLiteral",
                    "src": "22625:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "22612:9:136",
                      "nodeType": "YulTypedName",
                      "src": "22612:9:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "22669:600:136",
                        "nodeType": "YulBlock",
                        "src": "22669:600:136",
                        "statements": [
                          {
                            "nativeSrc": "22683:32:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "22683:32:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "22702:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22702:3:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "22711:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "22711:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "22707:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "22707:3:136"
                                  },
                                  "nativeSrc": "22707:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "22707:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "22698:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "22698:3:136"
                              },
                              "nativeSrc": "22698:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "22698:17:136"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "22687:7:136",
                                "nodeType": "YulTypedName",
                                "src": "22687:7:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "22728:48:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "22728:48:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "22771:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22771:4:136"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "22742:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "22742:28:136"
                              },
                              "nativeSrc": "22742:34:136",
                              "nodeType": "YulFunctionCall",
                              "src": "22742:34:136"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "22732:6:136",
                                "nodeType": "YulTypedName",
                                "src": "22732:6:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "22789:10:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "22789:10:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "22798:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22798:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "22793:1:136",
                                "nodeType": "YulTypedName",
                                "src": "22793:1:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "22869:172:136",
                              "nodeType": "YulBlock",
                              "src": "22869:172:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "22894:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "22894:6:136"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "22919:3:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "22919:3:136"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "22924:9:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "22924:9:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "22915:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "22915:3:136"
                                            },
                                            "nativeSrc": "22915:19:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "22915:19:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "22902:12:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "22902:12:136"
                                        },
                                        "nativeSrc": "22902:33:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "22902:33:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "22887:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22887:6:136"
                                    },
                                    "nativeSrc": "22887:49:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22887:49:136"
                                  },
                                  "nativeSrc": "22887:49:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "22887:49:136"
                                },
                                {
                                  "nativeSrc": "22953:24:136",
                                  "nodeType": "YulAssignment",
                                  "src": "22953:24:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "22967:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "22967:6:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "22975:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "22975:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "22963:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22963:3:136"
                                    },
                                    "nativeSrc": "22963:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22963:14:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "22953:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22953:6:136"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "22994:33:136",
                                  "nodeType": "YulAssignment",
                                  "src": "22994:33:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "23011:9:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "23011:9:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "23022:4:136",
                                        "nodeType": "YulLiteral",
                                        "src": "23022:4:136",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "23007:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23007:3:136"
                                    },
                                    "nativeSrc": "23007:20:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "23007:20:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "22994:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22994:9:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "22823:1:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22823:1:136"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "22826:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "22826:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "22820:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "22820:2:136"
                              },
                              "nativeSrc": "22820:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "22820:14:136"
                            },
                            "nativeSrc": "22812:229:136",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "22835:21:136",
                              "nodeType": "YulBlock",
                              "src": "22835:21:136",
                              "statements": [
                                {
                                  "nativeSrc": "22837:17:136",
                                  "nodeType": "YulAssignment",
                                  "src": "22837:17:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "22846:1:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "22846:1:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "22849:4:136",
                                        "nodeType": "YulLiteral",
                                        "src": "22849:4:136",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "22842:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22842:3:136"
                                    },
                                    "nativeSrc": "22842:12:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22842:12:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "22837:1:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "22837:1:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "22816:3:136",
                              "nodeType": "YulBlock",
                              "src": "22816:3:136",
                              "statements": []
                            },
                            "src": "22812:229:136"
                          },
                          {
                            "body": {
                              "nativeSrc": "23086:127:136",
                              "nodeType": "YulBlock",
                              "src": "23086:127:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "23111:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "23111:6:136"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "23140:3:136",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "23140:3:136"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "23145:9:136",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "23145:9:136"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "23136:3:136",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "23136:3:136"
                                                },
                                                "nativeSrc": "23136:19:136",
                                                "nodeType": "YulFunctionCall",
                                                "src": "23136:19:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "23123:12:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "23123:12:136"
                                            },
                                            "nativeSrc": "23123:33:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "23123:33:136"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "23174:1:136",
                                                            "nodeType": "YulLiteral",
                                                            "src": "23174:1:136",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "23177:3:136",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "23177:3:136"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "23170:3:136",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "23170:3:136"
                                                        },
                                                        "nativeSrc": "23170:11:136",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "23170:11:136"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "23183:3:136",
                                                        "nodeType": "YulLiteral",
                                                        "src": "23183:3:136",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "23166:3:136",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "23166:3:136"
                                                    },
                                                    "nativeSrc": "23166:21:136",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "23166:21:136"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "23193:1:136",
                                                        "nodeType": "YulLiteral",
                                                        "src": "23193:1:136",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "23189:3:136",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "23189:3:136"
                                                    },
                                                    "nativeSrc": "23189:6:136",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "23189:6:136"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "23162:3:136",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "23162:3:136"
                                                },
                                                "nativeSrc": "23162:34:136",
                                                "nodeType": "YulFunctionCall",
                                                "src": "23162:34:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "23158:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "23158:3:136"
                                            },
                                            "nativeSrc": "23158:39:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "23158:39:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "23119:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "23119:3:136"
                                        },
                                        "nativeSrc": "23119:79:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "23119:79:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "23104:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23104:6:136"
                                    },
                                    "nativeSrc": "23104:95:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "23104:95:136"
                                  },
                                  "nativeSrc": "23104:95:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "23104:95:136"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "23060:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "23060:7:136"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "23069:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "23069:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "23057:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "23057:2:136"
                              },
                              "nativeSrc": "23057:16:136",
                              "nodeType": "YulFunctionCall",
                              "src": "23057:16:136"
                            },
                            "nativeSrc": "23054:159:136",
                            "nodeType": "YulIf",
                            "src": "23054:159:136"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "23233:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "23233:4:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "23247:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "23247:1:136",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "23250:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "23250:3:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "23243:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "23243:3:136"
                                      },
                                      "nativeSrc": "23243:11:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "23243:11:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "23256:1:136",
                                      "nodeType": "YulLiteral",
                                      "src": "23256:1:136",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "23239:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "23239:3:136"
                                  },
                                  "nativeSrc": "23239:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "23239:19:136"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "23226:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "23226:6:136"
                              },
                              "nativeSrc": "23226:33:136",
                              "nodeType": "YulFunctionCall",
                              "src": "23226:33:136"
                            },
                            "nativeSrc": "23226:33:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "23226:33:136"
                          }
                        ]
                      },
                      "nativeSrc": "22662:607:136",
                      "nodeType": "YulCase",
                      "src": "22662:607:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "22667:1:136",
                        "nodeType": "YulLiteral",
                        "src": "22667:1:136",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "23286:235:136",
                        "nodeType": "YulBlock",
                        "src": "23286:235:136",
                        "statements": [
                          {
                            "nativeSrc": "23300:14:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "23300:14:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "23313:1:136",
                              "nodeType": "YulLiteral",
                              "src": "23313:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "23304:5:136",
                                "nodeType": "YulTypedName",
                                "src": "23304:5:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "23346:74:136",
                              "nodeType": "YulBlock",
                              "src": "23346:74:136",
                              "statements": [
                                {
                                  "nativeSrc": "23364:42:136",
                                  "nodeType": "YulAssignment",
                                  "src": "23364:42:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "23390:3:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "23390:3:136"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "23395:9:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "23395:9:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "23386:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "23386:3:136"
                                        },
                                        "nativeSrc": "23386:19:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "23386:19:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "23373:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23373:12:136"
                                    },
                                    "nativeSrc": "23373:33:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "23373:33:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "23364:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23364:5:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "23330:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "23330:3:136"
                            },
                            "nativeSrc": "23327:93:136",
                            "nodeType": "YulIf",
                            "src": "23327:93:136"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "23440:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "23440:4:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "23499:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23499:5:136"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "23506:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "23506:3:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "23446:52:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "23446:52:136"
                                  },
                                  "nativeSrc": "23446:64:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "23446:64:136"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "23433:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "23433:6:136"
                              },
                              "nativeSrc": "23433:78:136",
                              "nodeType": "YulFunctionCall",
                              "src": "23433:78:136"
                            },
                            "nativeSrc": "23433:78:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "23433:78:136"
                          }
                        ]
                      },
                      "nativeSrc": "23278:243:136",
                      "nodeType": "YulCase",
                      "src": "23278:243:136",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "22645:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "22645:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22650:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22650:2:136",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22642:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22642:2:136"
                    },
                    "nativeSrc": "22642:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22642:11:136"
                  },
                  "nativeSrc": "22635:886:136",
                  "nodeType": "YulSwitch",
                  "src": "22635:886:136"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "22333:1194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "22414:4:136",
                "nodeType": "YulTypedName",
                "src": "22414:4:136",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "22420:3:136",
                "nodeType": "YulTypedName",
                "src": "22420:3:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "22425:3:136",
                "nodeType": "YulTypedName",
                "src": "22425:3:136",
                "type": ""
              }
            ],
            "src": "22333:1194:136"
          },
          {
            "body": {
              "nativeSrc": "23706:178:136",
              "nodeType": "YulBlock",
              "src": "23706:178:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23723:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23723:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23734:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23734:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23716:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23716:6:136"
                    },
                    "nativeSrc": "23716:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23716:21:136"
                  },
                  "nativeSrc": "23716:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23716:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23757:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23757:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23768:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23768:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23753:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23753:3:136"
                        },
                        "nativeSrc": "23753:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23753:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23773:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23773:2:136",
                        "type": "",
                        "value": "28"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23746:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23746:6:136"
                    },
                    "nativeSrc": "23746:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23746:30:136"
                  },
                  "nativeSrc": "23746:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23746:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23796:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23796:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23807:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23807:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23792:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23792:3:136"
                        },
                        "nativeSrc": "23792:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23792:18:136"
                      },
                      {
                        "hexValue": "70726f76696e672064697370757465642066616b65207265706f7274",
                        "kind": "string",
                        "nativeSrc": "23812:30:136",
                        "nodeType": "YulLiteral",
                        "src": "23812:30:136",
                        "type": "",
                        "value": "proving disputed fake report"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23785:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23785:6:136"
                    },
                    "nativeSrc": "23785:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23785:58:136"
                  },
                  "nativeSrc": "23785:58:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23785:58:136"
                },
                {
                  "nativeSrc": "23852:26:136",
                  "nodeType": "YulAssignment",
                  "src": "23852:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23864:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23864:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23875:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23875:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23860:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23860:3:136"
                    },
                    "nativeSrc": "23860:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23860:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23852:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23852:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_c57b0850c73f4c2916e4682c7a87668d231d8f5dd2bd28b2a62627d190ff0d28__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "23532:352:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23683:9:136",
                "nodeType": "YulTypedName",
                "src": "23683:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23697:4:136",
                "nodeType": "YulTypedName",
                "src": "23697:4:136",
                "type": ""
              }
            ],
            "src": "23532:352:136"
          },
          {
            "body": {
              "nativeSrc": "23939:162:136",
              "nodeType": "YulBlock",
              "src": "23939:162:136",
              "statements": [
                {
                  "nativeSrc": "23949:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23949:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "23969:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "23969:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23963:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23963:5:136"
                    },
                    "nativeSrc": "23963:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23963:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23953:6:136",
                      "nodeType": "YulTypedName",
                      "src": "23953:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23990:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23990:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "23999:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "23999:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24006:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24006:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23995:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23995:3:136"
                        },
                        "nativeSrc": "23995:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23995:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24013:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24013:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "23984:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23984:5:136"
                    },
                    "nativeSrc": "23984:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23984:36:136"
                  },
                  "nativeSrc": "23984:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23984:36:136"
                },
                {
                  "nativeSrc": "24029:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24029:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "24043:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24043:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24048:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24048:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24039:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24039:3:136"
                    },
                    "nativeSrc": "24039:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24039:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24033:2:136",
                      "nodeType": "YulTypedName",
                      "src": "24033:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "24071:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "24071:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24075:1:136",
                        "nodeType": "YulLiteral",
                        "src": "24075:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24064:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24064:6:136"
                    },
                    "nativeSrc": "24064:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24064:13:136"
                  },
                  "nativeSrc": "24064:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24064:13:136"
                },
                {
                  "nativeSrc": "24086:9:136",
                  "nodeType": "YulAssignment",
                  "src": "24086:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "24093:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "24093:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "24086:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24086:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "23889:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "23916:5:136",
                "nodeType": "YulTypedName",
                "src": "23916:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "23923:3:136",
                "nodeType": "YulTypedName",
                "src": "23923:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23931:3:136",
                "nodeType": "YulTypedName",
                "src": "23931:3:136",
                "type": ""
              }
            ],
            "src": "23889:212:136"
          },
          {
            "body": {
              "nativeSrc": "24346:108:136",
              "nodeType": "YulBlock",
              "src": "24346:108:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "24363:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24363:3:136"
                      },
                      {
                        "hexValue": "696e76616c6964207175657279207374617475733a20",
                        "kind": "string",
                        "nativeSrc": "24368:24:136",
                        "nodeType": "YulLiteral",
                        "src": "24368:24:136",
                        "type": "",
                        "value": "invalid query status: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24356:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24356:6:136"
                    },
                    "nativeSrc": "24356:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24356:37:136"
                  },
                  "nativeSrc": "24356:37:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24356:37:136"
                },
                {
                  "nativeSrc": "24402:46:136",
                  "nodeType": "YulAssignment",
                  "src": "24402:46:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24427:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24427:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "24439:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24439:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24444:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24444:2:136",
                            "type": "",
                            "value": "22"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24435:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24435:3:136"
                        },
                        "nativeSrc": "24435:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24435:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "24409:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "24409:17:136"
                    },
                    "nativeSrc": "24409:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24409:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "24402:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24402:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "24106:348:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "24322:3:136",
                "nodeType": "YulTypedName",
                "src": "24322:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "24327:6:136",
                "nodeType": "YulTypedName",
                "src": "24327:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "24338:3:136",
                "nodeType": "YulTypedName",
                "src": "24338:3:136",
                "type": ""
              }
            ],
            "src": "24106:348:136"
          },
          {
            "body": {
              "nativeSrc": "24507:77:136",
              "nodeType": "YulBlock",
              "src": "24507:77:136",
              "statements": [
                {
                  "nativeSrc": "24517:16:136",
                  "nodeType": "YulAssignment",
                  "src": "24517:16:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "24528:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "24528:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "24531:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "24531:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24524:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24524:3:136"
                    },
                    "nativeSrc": "24524:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24524:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "24517:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24517:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24556:22:136",
                    "nodeType": "YulBlock",
                    "src": "24556:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "24558:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "24558:16:136"
                          },
                          "nativeSrc": "24558:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24558:18:136"
                        },
                        "nativeSrc": "24558:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24558:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "24548:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "24548:1:136"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "24551:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24551:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24545:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "24545:2:136"
                    },
                    "nativeSrc": "24545:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24545:10:136"
                  },
                  "nativeSrc": "24542:36:136",
                  "nodeType": "YulIf",
                  "src": "24542:36:136"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "24459:125:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "24490:1:136",
                "nodeType": "YulTypedName",
                "src": "24490:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "24493:1:136",
                "nodeType": "YulTypedName",
                "src": "24493:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "24499:3:136",
                "nodeType": "YulTypedName",
                "src": "24499:3:136",
                "type": ""
              }
            ],
            "src": "24459:125:136"
          },
          {
            "body": {
              "nativeSrc": "24641:116:136",
              "nodeType": "YulBlock",
              "src": "24641:116:136",
              "statements": [
                {
                  "nativeSrc": "24651:20:136",
                  "nodeType": "YulAssignment",
                  "src": "24651:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "24666:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "24666:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "24669:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "24669:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "24662:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24662:3:136"
                    },
                    "nativeSrc": "24662:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24662:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "24651:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "24651:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24729:22:136",
                    "nodeType": "YulBlock",
                    "src": "24729:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "24731:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "24731:16:136"
                          },
                          "nativeSrc": "24731:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24731:18:136"
                        },
                        "nativeSrc": "24731:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24731:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "24700:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "24700:1:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "24693:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "24693:6:136"
                            },
                            "nativeSrc": "24693:9:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24693:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "24707:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "24707:1:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "24714:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "24714:7:136"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "24723:1:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "24723:1:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "24710:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "24710:3:136"
                                },
                                "nativeSrc": "24710:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "24710:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "24704:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "24704:2:136"
                            },
                            "nativeSrc": "24704:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24704:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "24690:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "24690:2:136"
                        },
                        "nativeSrc": "24690:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24690:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24683:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24683:6:136"
                    },
                    "nativeSrc": "24683:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24683:45:136"
                  },
                  "nativeSrc": "24680:71:136",
                  "nodeType": "YulIf",
                  "src": "24680:71:136"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "24589:168:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "24620:1:136",
                "nodeType": "YulTypedName",
                "src": "24620:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "24623:1:136",
                "nodeType": "YulTypedName",
                "src": "24623:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "24629:7:136",
                "nodeType": "YulTypedName",
                "src": "24629:7:136",
                "type": ""
              }
            ],
            "src": "24589:168:136"
          },
          {
            "body": {
              "nativeSrc": "24936:167:136",
              "nodeType": "YulBlock",
              "src": "24936:167:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24953:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24953:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24964:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24964:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24946:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24946:6:136"
                    },
                    "nativeSrc": "24946:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24946:21:136"
                  },
                  "nativeSrc": "24946:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24946:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24987:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24987:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24998:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24998:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24983:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24983:3:136"
                        },
                        "nativeSrc": "24983:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24983:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25003:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25003:2:136",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24976:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24976:6:136"
                    },
                    "nativeSrc": "24976:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24976:30:136"
                  },
                  "nativeSrc": "24976:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24976:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25026:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25026:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25037:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25037:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25022:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25022:3:136"
                        },
                        "nativeSrc": "25022:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25022:18:136"
                      },
                      {
                        "hexValue": "6e6f742074686520726571756573746572",
                        "kind": "string",
                        "nativeSrc": "25042:19:136",
                        "nodeType": "YulLiteral",
                        "src": "25042:19:136",
                        "type": "",
                        "value": "not the requester"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25015:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25015:6:136"
                    },
                    "nativeSrc": "25015:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25015:47:136"
                  },
                  "nativeSrc": "25015:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25015:47:136"
                },
                {
                  "nativeSrc": "25071:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25071:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25083:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25083:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25094:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25094:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25079:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25079:3:136"
                    },
                    "nativeSrc": "25079:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25079:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25071:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25071:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "24762:341:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24913:9:136",
                "nodeType": "YulTypedName",
                "src": "24913:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24927:4:136",
                "nodeType": "YulTypedName",
                "src": "24927:4:136",
                "type": ""
              }
            ],
            "src": "24762:341:136"
          },
          {
            "body": {
              "nativeSrc": "25209:76:136",
              "nodeType": "YulBlock",
              "src": "25209:76:136",
              "statements": [
                {
                  "nativeSrc": "25219:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25219:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25231:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25231:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25242:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25242:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25227:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25227:3:136"
                    },
                    "nativeSrc": "25227:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25227:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25219:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25219:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25261:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25261:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "25272:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25272:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25254:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25254:6:136"
                    },
                    "nativeSrc": "25254:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25254:25:136"
                  },
                  "nativeSrc": "25254:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25254:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "25108:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25178:9:136",
                "nodeType": "YulTypedName",
                "src": "25178:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25189:6:136",
                "nodeType": "YulTypedName",
                "src": "25189:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25200:4:136",
                "nodeType": "YulTypedName",
                "src": "25200:4:136",
                "type": ""
              }
            ],
            "src": "25108:177:136"
          },
          {
            "body": {
              "nativeSrc": "25464:172:136",
              "nodeType": "YulBlock",
              "src": "25464:172:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25481:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25481:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25492:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25492:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25474:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25474:6:136"
                    },
                    "nativeSrc": "25474:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25474:21:136"
                  },
                  "nativeSrc": "25474:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25474:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25515:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25515:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25526:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25526:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25511:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25511:3:136"
                        },
                        "nativeSrc": "25511:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25511:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25531:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25531:2:136",
                        "type": "",
                        "value": "22"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25504:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25504:6:136"
                    },
                    "nativeSrc": "25504:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25504:30:136"
                  },
                  "nativeSrc": "25504:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25504:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25554:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25554:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25565:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25565:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25550:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25550:3:136"
                        },
                        "nativeSrc": "25550:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25550:18:136"
                      },
                      {
                        "hexValue": "6e6f7420696e205265706f7274656420737461747573",
                        "kind": "string",
                        "nativeSrc": "25570:24:136",
                        "nodeType": "YulLiteral",
                        "src": "25570:24:136",
                        "type": "",
                        "value": "not in Reported status"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25543:6:136"
                    },
                    "nativeSrc": "25543:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25543:52:136"
                  },
                  "nativeSrc": "25543:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25543:52:136"
                },
                {
                  "nativeSrc": "25604:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25604:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25616:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25616:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25627:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25627:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25612:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25612:3:136"
                    },
                    "nativeSrc": "25612:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25612:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25604:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25604:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_ceb3611326ed6e8350a8da4ee52174f60253d2126408fc371fc7f35e3685dbc5__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25290:346:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25441:9:136",
                "nodeType": "YulTypedName",
                "src": "25441:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25455:4:136",
                "nodeType": "YulTypedName",
                "src": "25455:4:136",
                "type": ""
              }
            ],
            "src": "25290:346:136"
          },
          {
            "body": {
              "nativeSrc": "25798:170:136",
              "nodeType": "YulBlock",
              "src": "25798:170:136",
              "statements": [
                {
                  "nativeSrc": "25808:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25808:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25820:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25820:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25831:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25831:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25816:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25816:3:136"
                    },
                    "nativeSrc": "25816:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25816:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25808:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25808:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25850:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25850:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "25865:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25865:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25873:18:136",
                            "nodeType": "YulLiteral",
                            "src": "25873:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25861:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25861:3:136"
                        },
                        "nativeSrc": "25861:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25861:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25843:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25843:6:136"
                    },
                    "nativeSrc": "25843:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25843:50:136"
                  },
                  "nativeSrc": "25843:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25843:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25913:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25913:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25924:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25924:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25909:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25909:3:136"
                        },
                        "nativeSrc": "25909:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25909:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "25933:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25933:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25949:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25949:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25954:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25954:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "25945:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25945:3:136"
                                },
                                "nativeSrc": "25945:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "25945:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25958:1:136",
                                "nodeType": "YulLiteral",
                                "src": "25958:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "25941:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25941:3:136"
                            },
                            "nativeSrc": "25941:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25941:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25929:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25929:3:136"
                        },
                        "nativeSrc": "25929:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25929:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25902:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25902:6:136"
                    },
                    "nativeSrc": "25902:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25902:60:136"
                  },
                  "nativeSrc": "25902:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25902:60:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_QueryId_$37151_t_address__to_t_uint64_t_address__fromStack_reversed",
            "nativeSrc": "25641:327:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25759:9:136",
                "nodeType": "YulTypedName",
                "src": "25759:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25770:6:136",
                "nodeType": "YulTypedName",
                "src": "25770:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25778:6:136",
                "nodeType": "YulTypedName",
                "src": "25778:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25789:4:136",
                "nodeType": "YulTypedName",
                "src": "25789:4:136",
                "type": ""
              }
            ],
            "src": "25641:327:136"
          },
          {
            "body": {
              "nativeSrc": "26147:165:136",
              "nodeType": "YulBlock",
              "src": "26147:165:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26164:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26164:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26175:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26175:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26157:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26157:6:136"
                    },
                    "nativeSrc": "26157:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26157:21:136"
                  },
                  "nativeSrc": "26157:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26157:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26198:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26198:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26209:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26209:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26194:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26194:3:136"
                        },
                        "nativeSrc": "26194:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26194:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26214:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26214:2:136",
                        "type": "",
                        "value": "15"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26187:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26187:6:136"
                    },
                    "nativeSrc": "26187:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26187:30:136"
                  },
                  "nativeSrc": "26187:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26187:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26237:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26237:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26248:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26248:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26233:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26233:3:136"
                        },
                        "nativeSrc": "26233:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26233:18:136"
                      },
                      {
                        "hexValue": "616c726561647920636c61696d6564",
                        "kind": "string",
                        "nativeSrc": "26253:17:136",
                        "nodeType": "YulLiteral",
                        "src": "26253:17:136",
                        "type": "",
                        "value": "already claimed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26226:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26226:6:136"
                    },
                    "nativeSrc": "26226:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26226:45:136"
                  },
                  "nativeSrc": "26226:45:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26226:45:136"
                },
                {
                  "nativeSrc": "26280:26:136",
                  "nodeType": "YulAssignment",
                  "src": "26280:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26292:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26292:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26303:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26303:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26288:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26288:3:136"
                    },
                    "nativeSrc": "26288:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26288:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26280:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26280:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_35ab08c51d3c5f6dce9e2f229c8cce621755785a49ae5048c5948e3805dfc55b__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25973:339:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26124:9:136",
                "nodeType": "YulTypedName",
                "src": "26124:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26138:4:136",
                "nodeType": "YulTypedName",
                "src": "26138:4:136",
                "type": ""
              }
            ],
            "src": "25973:339:136"
          },
          {
            "body": {
              "nativeSrc": "26491:166:136",
              "nodeType": "YulBlock",
              "src": "26491:166:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26508:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26508:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26519:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26519:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26501:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26501:6:136"
                    },
                    "nativeSrc": "26501:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26501:21:136"
                  },
                  "nativeSrc": "26501:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26501:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26542:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26542:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26553:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26553:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26538:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26538:3:136"
                        },
                        "nativeSrc": "26538:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26538:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26558:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26558:2:136",
                        "type": "",
                        "value": "16"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26531:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26531:6:136"
                    },
                    "nativeSrc": "26531:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26531:30:136"
                  },
                  "nativeSrc": "26531:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26531:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26581:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26581:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26592:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26592:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26577:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26577:3:136"
                        },
                        "nativeSrc": "26577:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26577:18:136"
                      },
                      {
                        "hexValue": "6e6f7420746865206469737075746572",
                        "kind": "string",
                        "nativeSrc": "26597:18:136",
                        "nodeType": "YulLiteral",
                        "src": "26597:18:136",
                        "type": "",
                        "value": "not the disputer"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26570:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26570:6:136"
                    },
                    "nativeSrc": "26570:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26570:46:136"
                  },
                  "nativeSrc": "26570:46:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26570:46:136"
                },
                {
                  "nativeSrc": "26625:26:136",
                  "nodeType": "YulAssignment",
                  "src": "26625:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26637:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26637:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26648:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26648:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26633:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26633:3:136"
                    },
                    "nativeSrc": "26633:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26633:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26625:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26625:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_d285be098162e22a15cc3e3fee4099ba3acd4047ac179f34dc9773de76e8ba76__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "26317:340:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26468:9:136",
                "nodeType": "YulTypedName",
                "src": "26468:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26482:4:136",
                "nodeType": "YulTypedName",
                "src": "26482:4:136",
                "type": ""
              }
            ],
            "src": "26317:340:136"
          },
          {
            "body": {
              "nativeSrc": "26836:177:136",
              "nodeType": "YulBlock",
              "src": "26836:177:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26853:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26853:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26864:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26864:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26846:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26846:6:136"
                    },
                    "nativeSrc": "26846:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26846:21:136"
                  },
                  "nativeSrc": "26846:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26846:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26887:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26887:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26898:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26898:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26883:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26883:3:136"
                        },
                        "nativeSrc": "26883:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26883:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26903:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26903:2:136",
                        "type": "",
                        "value": "27"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26876:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26876:6:136"
                    },
                    "nativeSrc": "26876:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26876:30:136"
                  },
                  "nativeSrc": "26876:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26876:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26926:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26926:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26937:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26937:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26922:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26922:3:136"
                        },
                        "nativeSrc": "26922:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26922:18:136"
                      },
                      {
                        "hexValue": "756e617574686f72697a6564207175657279207265706f72746572",
                        "kind": "string",
                        "nativeSrc": "26942:29:136",
                        "nodeType": "YulLiteral",
                        "src": "26942:29:136",
                        "type": "",
                        "value": "unauthorized query reporter"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26915:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26915:6:136"
                    },
                    "nativeSrc": "26915:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26915:57:136"
                  },
                  "nativeSrc": "26915:57:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26915:57:136"
                },
                {
                  "nativeSrc": "26981:26:136",
                  "nodeType": "YulAssignment",
                  "src": "26981:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26993:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26993:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27004:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27004:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26989:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26989:3:136"
                    },
                    "nativeSrc": "26989:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26989:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26981:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26981:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_25c1b05ad606754ebedea8c707fd3ca00a280785cfb74e4d5d3656f93c1005d2__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "26662:351:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26813:9:136",
                "nodeType": "YulTypedName",
                "src": "26813:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26827:4:136",
                "nodeType": "YulTypedName",
                "src": "26827:4:136",
                "type": ""
              }
            ],
            "src": "26662:351:136"
          },
          {
            "body": {
              "nativeSrc": "27192:182:136",
              "nodeType": "YulBlock",
              "src": "27192:182:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27209:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "27209:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27220:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27220:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27202:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27202:6:136"
                    },
                    "nativeSrc": "27202:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27202:21:136"
                  },
                  "nativeSrc": "27202:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27202:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27243:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27243:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27254:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27254:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27239:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27239:3:136"
                        },
                        "nativeSrc": "27239:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27239:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27259:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27259:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27232:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27232:6:136"
                    },
                    "nativeSrc": "27232:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27232:30:136"
                  },
                  "nativeSrc": "27232:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27232:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27282:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27282:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27293:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27293:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27278:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27278:3:136"
                        },
                        "nativeSrc": "27278:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27278:18:136"
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e742062616c616e6365",
                        "kind": "string",
                        "nativeSrc": "27298:34:136",
                        "nodeType": "YulLiteral",
                        "src": "27298:34:136",
                        "type": "",
                        "value": "Escrowable: insufficient balance"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27271:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27271:6:136"
                    },
                    "nativeSrc": "27271:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27271:62:136"
                  },
                  "nativeSrc": "27271:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27271:62:136"
                },
                {
                  "nativeSrc": "27342:26:136",
                  "nodeType": "YulAssignment",
                  "src": "27342:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27354:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "27354:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27365:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27365:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27350:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27350:3:136"
                    },
                    "nativeSrc": "27350:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27350:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "27342:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "27342:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "27018:356:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27169:9:136",
                "nodeType": "YulTypedName",
                "src": "27169:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27183:4:136",
                "nodeType": "YulTypedName",
                "src": "27183:4:136",
                "type": ""
              }
            ],
            "src": "27018:356:136"
          },
          {
            "body": {
              "nativeSrc": "27428:79:136",
              "nodeType": "YulBlock",
              "src": "27428:79:136",
              "statements": [
                {
                  "nativeSrc": "27438:17:136",
                  "nodeType": "YulAssignment",
                  "src": "27438:17:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "27450:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27450:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "27453:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27453:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "27446:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27446:3:136"
                    },
                    "nativeSrc": "27446:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27446:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "27438:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "27438:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27479:22:136",
                    "nodeType": "YulBlock",
                    "src": "27479:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "27481:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "27481:16:136"
                          },
                          "nativeSrc": "27481:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27481:18:136"
                        },
                        "nativeSrc": "27481:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27481:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "27470:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "27470:4:136"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "27476:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27476:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27467:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27467:2:136"
                    },
                    "nativeSrc": "27467:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27467:11:136"
                  },
                  "nativeSrc": "27464:37:136",
                  "nodeType": "YulIf",
                  "src": "27464:37:136"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "27379:128:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "27410:1:136",
                "nodeType": "YulTypedName",
                "src": "27410:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "27413:1:136",
                "nodeType": "YulTypedName",
                "src": "27413:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "27419:4:136",
                "nodeType": "YulTypedName",
                "src": "27419:4:136",
                "type": ""
              }
            ],
            "src": "27379:128:136"
          },
          {
            "body": {
              "nativeSrc": "27686:225:136",
              "nodeType": "YulBlock",
              "src": "27686:225:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27703:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "27703:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27714:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27714:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27696:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27696:6:136"
                    },
                    "nativeSrc": "27696:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27696:21:136"
                  },
                  "nativeSrc": "27696:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27696:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27737:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27737:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27748:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27748:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27733:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27733:3:136"
                        },
                        "nativeSrc": "27733:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27733:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27753:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27753:2:136",
                        "type": "",
                        "value": "35"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27726:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27726:6:136"
                    },
                    "nativeSrc": "27726:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27726:30:136"
                  },
                  "nativeSrc": "27726:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27726:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27776:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27776:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27787:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27787:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27772:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27772:3:136"
                        },
                        "nativeSrc": "27772:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27772:18:136"
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e7420636f6c6c617465",
                        "kind": "string",
                        "nativeSrc": "27792:34:136",
                        "nodeType": "YulLiteral",
                        "src": "27792:34:136",
                        "type": "",
                        "value": "Escrowable: insufficient collate"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27765:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27765:6:136"
                    },
                    "nativeSrc": "27765:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27765:62:136"
                  },
                  "nativeSrc": "27765:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27765:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27847:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27847:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27858:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27858:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27843:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27843:3:136"
                        },
                        "nativeSrc": "27843:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27843:18:136"
                      },
                      {
                        "hexValue": "72616c",
                        "kind": "string",
                        "nativeSrc": "27863:5:136",
                        "nodeType": "YulLiteral",
                        "src": "27863:5:136",
                        "type": "",
                        "value": "ral"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27836:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27836:6:136"
                    },
                    "nativeSrc": "27836:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27836:33:136"
                  },
                  "nativeSrc": "27836:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27836:33:136"
                },
                {
                  "nativeSrc": "27878:27:136",
                  "nodeType": "YulAssignment",
                  "src": "27878:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27890:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "27890:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27901:3:136",
                        "nodeType": "YulLiteral",
                        "src": "27901:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27886:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27886:3:136"
                    },
                    "nativeSrc": "27886:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27886:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "27878:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "27878:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "27512:399:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27663:9:136",
                "nodeType": "YulTypedName",
                "src": "27663:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27677:4:136",
                "nodeType": "YulTypedName",
                "src": "27677:4:136",
                "type": ""
              }
            ],
            "src": "27512:399:136"
          },
          {
            "body": {
              "nativeSrc": "28067:838:136",
              "nodeType": "YulBlock",
              "src": "28067:838:136",
              "statements": [
                {
                  "nativeSrc": "28077:27:136",
                  "nodeType": "YulAssignment",
                  "src": "28077:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28089:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28089:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28100:3:136",
                        "nodeType": "YulLiteral",
                        "src": "28100:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28085:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28085:3:136"
                    },
                    "nativeSrc": "28085:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28085:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28077:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "28077:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28120:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28120:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "28141:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "28141:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "28135:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "28135:5:136"
                            },
                            "nativeSrc": "28135:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28135:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28150:10:136",
                            "nodeType": "YulLiteral",
                            "src": "28150:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28131:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28131:3:136"
                        },
                        "nativeSrc": "28131:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28131:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28113:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28113:6:136"
                    },
                    "nativeSrc": "28113:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28113:49:136"
                  },
                  "nativeSrc": "28113:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28113:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28182:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28182:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28193:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28193:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28178:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28178:3:136"
                        },
                        "nativeSrc": "28178:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28178:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "28214:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28214:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28222:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28222:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28210:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28210:3:136"
                                },
                                "nativeSrc": "28210:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28210:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "28204:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "28204:5:136"
                            },
                            "nativeSrc": "28204:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28204:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28230:10:136",
                            "nodeType": "YulLiteral",
                            "src": "28230:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28200:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28200:3:136"
                        },
                        "nativeSrc": "28200:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28200:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28171:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28171:6:136"
                    },
                    "nativeSrc": "28171:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28171:71:136"
                  },
                  "nativeSrc": "28171:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28171:71:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28262:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28262:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28273:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28273:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28258:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28258:3:136"
                        },
                        "nativeSrc": "28258:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28258:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "28294:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28294:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28302:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28302:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28290:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28290:3:136"
                                },
                                "nativeSrc": "28290:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28290:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "28284:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "28284:5:136"
                            },
                            "nativeSrc": "28284:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28284:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28314:18:136",
                                "nodeType": "YulLiteral",
                                "src": "28314:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "28310:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28310:3:136"
                            },
                            "nativeSrc": "28310:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28310:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28280:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28280:3:136"
                        },
                        "nativeSrc": "28280:54:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28280:54:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28251:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28251:6:136"
                    },
                    "nativeSrc": "28251:84:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28251:84:136"
                  },
                  "nativeSrc": "28251:84:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28251:84:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28355:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28355:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28366:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28366:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28351:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28351:3:136"
                        },
                        "nativeSrc": "28351:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28351:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "28387:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28387:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28395:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28395:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28383:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28383:3:136"
                                },
                                "nativeSrc": "28383:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28383:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "28377:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "28377:5:136"
                            },
                            "nativeSrc": "28377:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28377:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28407:34:136",
                                "nodeType": "YulLiteral",
                                "src": "28407:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "28403:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28403:3:136"
                            },
                            "nativeSrc": "28403:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28403:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28373:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28373:3:136"
                        },
                        "nativeSrc": "28373:70:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28373:70:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28344:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28344:6:136"
                    },
                    "nativeSrc": "28344:100:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28344:100:136"
                  },
                  "nativeSrc": "28344:100:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28344:100:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28464:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28464:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28475:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28475:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28460:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28460:3:136"
                        },
                        "nativeSrc": "28460:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28460:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "28496:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28496:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28504:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "28504:4:136",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "28492:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28492:3:136"
                                },
                                "nativeSrc": "28492:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "28492:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "28486:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "28486:5:136"
                            },
                            "nativeSrc": "28486:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28486:24:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28516:34:136",
                                "nodeType": "YulLiteral",
                                "src": "28516:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "28512:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28512:3:136"
                            },
                            "nativeSrc": "28512:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28512:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28482:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28482:3:136"
                        },
                        "nativeSrc": "28482:70:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28482:70:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28453:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28453:6:136"
                    },
                    "nativeSrc": "28453:100:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28453:100:136"
                  },
                  "nativeSrc": "28453:100:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28453:100:136"
                },
                {
                  "nativeSrc": "28562:44:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28562:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28592:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28592:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28600:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28600:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28588:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28588:3:136"
                        },
                        "nativeSrc": "28588:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28588:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28582:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28582:5:136"
                    },
                    "nativeSrc": "28582:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28582:24:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "28566:12:136",
                      "nodeType": "YulTypedName",
                      "src": "28566:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28615:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28615:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28630:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28630:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28641:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28641:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28626:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28626:3:136"
                    },
                    "nativeSrc": "28626:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28626:20:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "28619:3:136",
                      "nodeType": "YulTypedName",
                      "src": "28619:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28655:10:136",
                  "nodeType": "YulAssignment",
                  "src": "28655:10:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "28662:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "28662:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "28655:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28655:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "28674:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28674:26:136",
                  "value": {
                    "name": "memberValue0",
                    "nativeSrc": "28688:12:136",
                    "nodeType": "YulIdentifier",
                    "src": "28688:12:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "28678:6:136",
                      "nodeType": "YulTypedName",
                      "src": "28678:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28709:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28709:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28718:1:136",
                    "nodeType": "YulLiteral",
                    "src": "28718:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "28713:1:136",
                      "nodeType": "YulTypedName",
                      "src": "28713:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28775:124:136",
                    "nodeType": "YulBlock",
                    "src": "28775:124:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "28796:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28796:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "28807:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "28807:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "28801:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "28801:5:136"
                              },
                              "nativeSrc": "28801:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "28801:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "28789:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28789:6:136"
                          },
                          "nativeSrc": "28789:26:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28789:26:136"
                        },
                        "nativeSrc": "28789:26:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28789:26:136"
                      },
                      {
                        "nativeSrc": "28828:21:136",
                        "nodeType": "YulAssignment",
                        "src": "28828:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "28839:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28839:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28844:4:136",
                              "nodeType": "YulLiteral",
                              "src": "28844:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "28835:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28835:3:136"
                          },
                          "nativeSrc": "28835:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28835:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "28828:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28828:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28862:27:136",
                        "nodeType": "YulAssignment",
                        "src": "28862:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "28876:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "28876:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28884:4:136",
                              "nodeType": "YulLiteral",
                              "src": "28884:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "28872:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28872:3:136"
                          },
                          "nativeSrc": "28872:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28872:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "28862:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28862:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "28739:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "28739:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28742:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28742:4:136",
                        "type": "",
                        "value": "0x04"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "28736:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28736:2:136"
                    },
                    "nativeSrc": "28736:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28736:11:136"
                  },
                  "nativeSrc": "28728:171:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "28748:18:136",
                    "nodeType": "YulBlock",
                    "src": "28748:18:136",
                    "statements": [
                      {
                        "nativeSrc": "28750:14:136",
                        "nodeType": "YulAssignment",
                        "src": "28750:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "28759:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "28759:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28762:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28762:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "28755:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28755:3:136"
                          },
                          "nativeSrc": "28755:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28755:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "28750:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "28750:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "28732:3:136",
                    "nodeType": "YulBlock",
                    "src": "28732:3:136",
                    "statements": []
                  },
                  "src": "28728:171:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Beacon_$37242_memory_ptr__to_t_struct$_Beacon_$37242_memory_ptr__fromStack_reversed",
            "nativeSrc": "27916:989:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28036:9:136",
                "nodeType": "YulTypedName",
                "src": "28036:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28047:6:136",
                "nodeType": "YulTypedName",
                "src": "28047:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28058:4:136",
                "nodeType": "YulTypedName",
                "src": "28058:4:136",
                "type": ""
              }
            ],
            "src": "27916:989:136"
          },
          {
            "body": {
              "nativeSrc": "28979:115:136",
              "nodeType": "YulBlock",
              "src": "28979:115:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "29025:16:136",
                    "nodeType": "YulBlock",
                    "src": "29025:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29034:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29034:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29037:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29037:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29027:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29027:6:136"
                          },
                          "nativeSrc": "29027:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29027:12:136"
                        },
                        "nativeSrc": "29027:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29027:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "29000:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "29000:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29009:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29009:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28996:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28996:3:136"
                        },
                        "nativeSrc": "28996:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28996:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29021:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29021:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28992:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28992:3:136"
                    },
                    "nativeSrc": "28992:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28992:32:136"
                  },
                  "nativeSrc": "28989:52:136",
                  "nodeType": "YulIf",
                  "src": "28989:52:136"
                },
                {
                  "nativeSrc": "29050:38:136",
                  "nodeType": "YulAssignment",
                  "src": "29050:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29078:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29078:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint16",
                      "nativeSrc": "29060:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "29060:17:136"
                    },
                    "nativeSrc": "29060:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29060:28:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29050:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29050:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "28910:184:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28945:9:136",
                "nodeType": "YulTypedName",
                "src": "28945:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28956:7:136",
                "nodeType": "YulTypedName",
                "src": "28956:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28968:6:136",
                "nodeType": "YulTypedName",
                "src": "28968:6:136",
                "type": ""
              }
            ],
            "src": "28910:184:136"
          },
          {
            "body": {
              "nativeSrc": "29168:200:136",
              "nodeType": "YulBlock",
              "src": "29168:200:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "29214:16:136",
                    "nodeType": "YulBlock",
                    "src": "29214:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29223:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29223:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29226:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29226:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29216:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29216:6:136"
                          },
                          "nativeSrc": "29216:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29216:12:136"
                        },
                        "nativeSrc": "29216:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29216:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "29189:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "29189:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29198:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29198:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29185:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29185:3:136"
                        },
                        "nativeSrc": "29185:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29185:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29210:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29210:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "29181:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29181:3:136"
                    },
                    "nativeSrc": "29181:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29181:32:136"
                  },
                  "nativeSrc": "29178:52:136",
                  "nodeType": "YulIf",
                  "src": "29178:52:136"
                },
                {
                  "nativeSrc": "29239:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29239:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29265:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29265:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "29252:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "29252:12:136"
                    },
                    "nativeSrc": "29252:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29252:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "29243:5:136",
                      "nodeType": "YulTypedName",
                      "src": "29243:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "29332:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "29332:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_Timestamp",
                      "nativeSrc": "29284:47:136",
                      "nodeType": "YulIdentifier",
                      "src": "29284:47:136"
                    },
                    "nativeSrc": "29284:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29284:54:136"
                  },
                  "nativeSrc": "29284:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29284:54:136"
                },
                {
                  "nativeSrc": "29347:15:136",
                  "nodeType": "YulAssignment",
                  "src": "29347:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "29357:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "29357:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29347:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29347:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "29099:269:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29134:9:136",
                "nodeType": "YulTypedName",
                "src": "29134:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "29145:7:136",
                "nodeType": "YulTypedName",
                "src": "29145:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "29157:6:136",
                "nodeType": "YulTypedName",
                "src": "29157:6:136",
                "type": ""
              }
            ],
            "src": "29099:269:136"
          },
          {
            "body": {
              "nativeSrc": "29762:454:136",
              "nodeType": "YulBlock",
              "src": "29762:454:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29779:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29779:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "29790:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29790:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29772:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29772:6:136"
                    },
                    "nativeSrc": "29772:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29772:25:136"
                  },
                  "nativeSrc": "29772:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29772:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29817:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29817:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29828:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29828:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29813:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29813:3:136"
                        },
                        "nativeSrc": "29813:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29813:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "29833:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29833:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29806:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29806:6:136"
                    },
                    "nativeSrc": "29806:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29806:34:136"
                  },
                  "nativeSrc": "29806:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29806:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29860:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29860:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29871:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29871:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29856:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29856:3:136"
                        },
                        "nativeSrc": "29856:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29856:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "29880:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29880:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29888:6:136",
                            "nodeType": "YulLiteral",
                            "src": "29888:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29876:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29876:3:136"
                        },
                        "nativeSrc": "29876:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29876:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29849:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29849:6:136"
                    },
                    "nativeSrc": "29849:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29849:47:136"
                  },
                  "nativeSrc": "29849:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29849:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29916:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29916:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29927:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29927:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29912:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29912:3:136"
                        },
                        "nativeSrc": "29912:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29912:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "29936:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29936:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29944:6:136",
                            "nodeType": "YulLiteral",
                            "src": "29944:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29932:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29932:3:136"
                        },
                        "nativeSrc": "29932:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29932:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29905:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29905:6:136"
                    },
                    "nativeSrc": "29905:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29905:47:136"
                  },
                  "nativeSrc": "29905:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29905:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29972:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29972:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29983:3:136",
                            "nodeType": "YulLiteral",
                            "src": "29983:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29968:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29968:3:136"
                        },
                        "nativeSrc": "29968:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29968:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "29993:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29993:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30001:18:136",
                            "nodeType": "YulLiteral",
                            "src": "30001:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29989:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29989:3:136"
                        },
                        "nativeSrc": "29989:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29989:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29961:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29961:6:136"
                    },
                    "nativeSrc": "29961:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29961:60:136"
                  },
                  "nativeSrc": "29961:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29961:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30041:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30041:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30052:3:136",
                            "nodeType": "YulLiteral",
                            "src": "30052:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30037:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30037:3:136"
                        },
                        "nativeSrc": "30037:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30037:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "30062:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30062:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30070:18:136",
                            "nodeType": "YulLiteral",
                            "src": "30070:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30058:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30058:3:136"
                        },
                        "nativeSrc": "30058:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30058:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30030:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30030:6:136"
                    },
                    "nativeSrc": "30030:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30030:60:136"
                  },
                  "nativeSrc": "30030:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30030:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30110:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30110:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30121:3:136",
                            "nodeType": "YulLiteral",
                            "src": "30121:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30106:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30106:3:136"
                        },
                        "nativeSrc": "30106:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30106:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30127:3:136",
                        "nodeType": "YulLiteral",
                        "src": "30127:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30099:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30099:6:136"
                    },
                    "nativeSrc": "30099:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30099:32:136"
                  },
                  "nativeSrc": "30099:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30099:32:136"
                },
                {
                  "nativeSrc": "30140:70:136",
                  "nodeType": "YulAssignment",
                  "src": "30140:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value6",
                        "nativeSrc": "30174:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30174:6:136"
                      },
                      {
                        "name": "value7",
                        "nativeSrc": "30182:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30182:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30194:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30194:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30205:3:136",
                            "nodeType": "YulLiteral",
                            "src": "30205:3:136",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30190:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30190:3:136"
                        },
                        "nativeSrc": "30190:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30190:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "30148:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "30148:25:136"
                    },
                    "nativeSrc": "30148:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30148:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30140:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "30140:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_RadonHash_$37153_t_uint16_t_uint16_t_uint64_t_userDefinedValueType$_Timestamp_$37157_t_bytes_calldata_ptr__to_t_bytes32_t_bytes32_t_uint16_t_uint16_t_uint64_t_uint64_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "29373:843:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29675:9:136",
                "nodeType": "YulTypedName",
                "src": "29675:9:136",
                "type": ""
              },
              {
                "name": "value7",
                "nativeSrc": "29686:6:136",
                "nodeType": "YulTypedName",
                "src": "29686:6:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "29694:6:136",
                "nodeType": "YulTypedName",
                "src": "29694:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "29702:6:136",
                "nodeType": "YulTypedName",
                "src": "29702:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "29710:6:136",
                "nodeType": "YulTypedName",
                "src": "29710:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "29718:6:136",
                "nodeType": "YulTypedName",
                "src": "29718:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29726:6:136",
                "nodeType": "YulTypedName",
                "src": "29726:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29734:6:136",
                "nodeType": "YulTypedName",
                "src": "29734:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29742:6:136",
                "nodeType": "YulTypedName",
                "src": "29742:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29753:4:136",
                "nodeType": "YulTypedName",
                "src": "29753:4:136",
                "type": ""
              }
            ],
            "src": "29373:843:136"
          },
          {
            "body": {
              "nativeSrc": "30291:116:136",
              "nodeType": "YulBlock",
              "src": "30291:116:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30337:16:136",
                    "nodeType": "YulBlock",
                    "src": "30337:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30346:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30346:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30349:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30349:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30339:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30339:6:136"
                          },
                          "nativeSrc": "30339:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30339:12:136"
                        },
                        "nativeSrc": "30339:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30339:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30312:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "30312:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30321:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30321:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30308:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30308:3:136"
                        },
                        "nativeSrc": "30308:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30308:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30333:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30333:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30304:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30304:3:136"
                    },
                    "nativeSrc": "30304:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30304:32:136"
                  },
                  "nativeSrc": "30301:52:136",
                  "nodeType": "YulIf",
                  "src": "30301:52:136"
                },
                {
                  "nativeSrc": "30362:39:136",
                  "nodeType": "YulAssignment",
                  "src": "30362:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30391:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "30391:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes24",
                      "nativeSrc": "30372:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "30372:18:136"
                    },
                    "nativeSrc": "30372:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30372:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "30362:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30362:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes24",
            "nativeSrc": "30221:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30257:9:136",
                "nodeType": "YulTypedName",
                "src": "30257:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30268:7:136",
                "nodeType": "YulTypedName",
                "src": "30268:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30280:6:136",
                "nodeType": "YulTypedName",
                "src": "30280:6:136",
                "type": ""
              }
            ],
            "src": "30221:186:136"
          },
          {
            "body": {
              "nativeSrc": "30652:161:136",
              "nodeType": "YulBlock",
              "src": "30652:161:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "30669:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "30669:3:136"
                      },
                      {
                        "hexValue": "6d69736d61746368696e6720626561636f6e73206f6e20666173742d666f7277",
                        "kind": "string",
                        "nativeSrc": "30674:34:136",
                        "nodeType": "YulLiteral",
                        "src": "30674:34:136",
                        "type": "",
                        "value": "mismatching beacons on fast-forw"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30662:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30662:6:136"
                    },
                    "nativeSrc": "30662:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30662:47:136"
                  },
                  "nativeSrc": "30662:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30662:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "30729:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30729:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30734:2:136",
                            "nodeType": "YulLiteral",
                            "src": "30734:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30725:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30725:3:136"
                        },
                        "nativeSrc": "30725:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30725:12:136"
                      },
                      {
                        "hexValue": "61726420737465702023",
                        "kind": "string",
                        "nativeSrc": "30739:12:136",
                        "nodeType": "YulLiteral",
                        "src": "30739:12:136",
                        "type": "",
                        "value": "ard step #"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30718:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30718:6:136"
                    },
                    "nativeSrc": "30718:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30718:34:136"
                  },
                  "nativeSrc": "30718:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30718:34:136"
                },
                {
                  "nativeSrc": "30761:46:136",
                  "nodeType": "YulAssignment",
                  "src": "30761:46:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "30786:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30786:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "30798:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30798:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30803:2:136",
                            "nodeType": "YulLiteral",
                            "src": "30803:2:136",
                            "type": "",
                            "value": "42"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30794:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30794:3:136"
                        },
                        "nativeSrc": "30794:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30794:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "30768:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "30768:17:136"
                    },
                    "nativeSrc": "30768:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30768:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "30761:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30761:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_a7b1ac190fd243ec293383d2b73f595475f32ba89118ac1827f5c29238ec9185_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "30412:401:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "30628:3:136",
                "nodeType": "YulTypedName",
                "src": "30628:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30633:6:136",
                "nodeType": "YulTypedName",
                "src": "30633:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "30644:3:136",
                "nodeType": "YulTypedName",
                "src": "30644:3:136",
                "type": ""
              }
            ],
            "src": "30412:401:136"
          },
          {
            "body": {
              "nativeSrc": "30850:95:136",
              "nodeType": "YulBlock",
              "src": "30850:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30867:1:136",
                        "nodeType": "YulLiteral",
                        "src": "30867:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "30874:3:136",
                            "nodeType": "YulLiteral",
                            "src": "30874:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30879:10:136",
                            "nodeType": "YulLiteral",
                            "src": "30879:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "30870:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30870:3:136"
                        },
                        "nativeSrc": "30870:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30870:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30860:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30860:6:136"
                    },
                    "nativeSrc": "30860:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30860:31:136"
                  },
                  "nativeSrc": "30860:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30860:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30907:1:136",
                        "nodeType": "YulLiteral",
                        "src": "30907:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30910:4:136",
                        "nodeType": "YulLiteral",
                        "src": "30910:4:136",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30900:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30900:6:136"
                    },
                    "nativeSrc": "30900:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30900:15:136"
                  },
                  "nativeSrc": "30900:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30900:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30931:1:136",
                        "nodeType": "YulLiteral",
                        "src": "30931:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30934:4:136",
                        "nodeType": "YulLiteral",
                        "src": "30934:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "30924:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30924:6:136"
                    },
                    "nativeSrc": "30924:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30924:15:136"
                  },
                  "nativeSrc": "30924:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30924:15:136"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "30818:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "30818:127:136"
          },
          {
            "body": {
              "nativeSrc": "30995:133:136",
              "nodeType": "YulBlock",
              "src": "30995:133:136",
              "statements": [
                {
                  "nativeSrc": "31005:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31005:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "31020:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "31020:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31023:10:136",
                        "nodeType": "YulLiteral",
                        "src": "31023:10:136",
                        "type": "",
                        "value": "0xffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "31016:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31016:3:136"
                    },
                    "nativeSrc": "31016:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31016:18:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "31009:3:136",
                      "nodeType": "YulTypedName",
                      "src": "31009:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31058:22:136",
                    "nodeType": "YulBlock",
                    "src": "31058:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "31060:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "31060:16:136"
                          },
                          "nativeSrc": "31060:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31060:18:136"
                        },
                        "nativeSrc": "31060:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31060:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "31053:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "31053:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31046:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31046:6:136"
                    },
                    "nativeSrc": "31046:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31046:11:136"
                  },
                  "nativeSrc": "31043:37:136",
                  "nodeType": "YulIf",
                  "src": "31043:37:136"
                },
                {
                  "nativeSrc": "31089:33:136",
                  "nodeType": "YulAssignment",
                  "src": "31089:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "31102:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "31102:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31105:10:136",
                            "nodeType": "YulLiteral",
                            "src": "31105:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31098:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31098:3:136"
                        },
                        "nativeSrc": "31098:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31098:18:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "31118:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "31118:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "31094:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31094:3:136"
                    },
                    "nativeSrc": "31094:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31094:28:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "31089:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "31089:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint32",
            "nativeSrc": "30950:178:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30980:1:136",
                "nodeType": "YulTypedName",
                "src": "30980:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30983:1:136",
                "nodeType": "YulTypedName",
                "src": "30983:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "30989:1:136",
                "nodeType": "YulTypedName",
                "src": "30989:1:136",
                "type": ""
              }
            ],
            "src": "30950:178:136"
          },
          {
            "body": {
              "nativeSrc": "31268:435:136",
              "nodeType": "YulBlock",
              "src": "31268:435:136",
              "statements": [
                {
                  "nativeSrc": "31278:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31278:51:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "31317:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "31317:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "31304:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "31304:12:136"
                    },
                    "nativeSrc": "31304:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31304:25:136"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "31282:18:136",
                      "nodeType": "YulTypedName",
                      "src": "31282:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31418:16:136",
                    "nodeType": "YulBlock",
                    "src": "31418:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31427:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31427:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31430:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31430:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31420:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31420:6:136"
                          },
                          "nativeSrc": "31420:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31420:12:136"
                        },
                        "nativeSrc": "31420:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31420:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "31352:18:136",
                            "nodeType": "YulIdentifier",
                            "src": "31352:18:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "31380:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "31380:12:136"
                                    },
                                    "nativeSrc": "31380:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "31380:14:136"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "31396:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "31396:8:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "31376:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "31376:3:136"
                                },
                                "nativeSrc": "31376:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "31376:29:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31411:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "31411:2:136",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "31407:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "31407:3:136"
                                },
                                "nativeSrc": "31407:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "31407:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "31372:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31372:3:136"
                            },
                            "nativeSrc": "31372:43:136",
                            "nodeType": "YulFunctionCall",
                            "src": "31372:43:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "31348:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31348:3:136"
                        },
                        "nativeSrc": "31348:68:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31348:68:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31341:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31341:6:136"
                    },
                    "nativeSrc": "31341:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31341:76:136"
                  },
                  "nativeSrc": "31338:96:136",
                  "nodeType": "YulIf",
                  "src": "31338:96:136"
                },
                {
                  "nativeSrc": "31443:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31443:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "31461:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "31461:8:136"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "31471:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "31471:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31457:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31457:3:136"
                    },
                    "nativeSrc": "31457:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31457:33:136"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "31447:6:136",
                      "nodeType": "YulTypedName",
                      "src": "31447:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31499:30:136",
                  "nodeType": "YulAssignment",
                  "src": "31499:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "31522:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31522:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "31509:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "31509:12:136"
                    },
                    "nativeSrc": "31509:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31509:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "31499:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31499:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31572:16:136",
                    "nodeType": "YulBlock",
                    "src": "31572:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31581:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31581:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31584:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31584:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31574:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31574:6:136"
                          },
                          "nativeSrc": "31574:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31574:12:136"
                        },
                        "nativeSrc": "31574:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31574:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "31544:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31544:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31552:18:136",
                        "nodeType": "YulLiteral",
                        "src": "31552:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31541:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "31541:2:136"
                    },
                    "nativeSrc": "31541:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31541:30:136"
                  },
                  "nativeSrc": "31538:50:136",
                  "nodeType": "YulIf",
                  "src": "31538:50:136"
                },
                {
                  "nativeSrc": "31597:25:136",
                  "nodeType": "YulAssignment",
                  "src": "31597:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "31609:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31609:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31617:4:136",
                        "nodeType": "YulLiteral",
                        "src": "31617:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31605:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31605:3:136"
                    },
                    "nativeSrc": "31605:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31605:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "31597:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "31597:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31681:16:136",
                    "nodeType": "YulBlock",
                    "src": "31681:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31690:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31690:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31693:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31693:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31683:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31683:6:136"
                          },
                          "nativeSrc": "31683:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31683:12:136"
                        },
                        "nativeSrc": "31683:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31683:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "31638:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "31638:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "31648:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "31648:12:136"
                            },
                            "nativeSrc": "31648:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "31648:14:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "31668:1:136",
                                "nodeType": "YulLiteral",
                                "src": "31668:1:136",
                                "type": "",
                                "value": "7"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "31671:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "31671:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "31664:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31664:3:136"
                            },
                            "nativeSrc": "31664:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "31664:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31644:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31644:3:136"
                        },
                        "nativeSrc": "31644:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31644:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "31634:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31634:3:136"
                    },
                    "nativeSrc": "31634:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31634:46:136"
                  },
                  "nativeSrc": "31631:66:136",
                  "nodeType": "YulIf",
                  "src": "31631:66:136"
                }
              ]
            },
            "name": "access_calldata_tail_t_array$_t_array$_t_uint256_$4_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "31133:570:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "31225:8:136",
                "nodeType": "YulTypedName",
                "src": "31225:8:136",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "31235:11:136",
                "nodeType": "YulTypedName",
                "src": "31235:11:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "31251:4:136",
                "nodeType": "YulTypedName",
                "src": "31251:4:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "31257:6:136",
                "nodeType": "YulTypedName",
                "src": "31257:6:136",
                "type": ""
              }
            ],
            "src": "31133:570:136"
          },
          {
            "body": {
              "nativeSrc": "31948:166:136",
              "nodeType": "YulBlock",
              "src": "31948:166:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "31965:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "31965:3:136"
                      },
                      {
                        "hexValue": "746f6f206d616e79206d697373696e67207075626b657973206f6e2066617374",
                        "kind": "string",
                        "nativeSrc": "31970:34:136",
                        "nodeType": "YulLiteral",
                        "src": "31970:34:136",
                        "type": "",
                        "value": "too many missing pubkeys on fast"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31958:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31958:6:136"
                    },
                    "nativeSrc": "31958:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31958:47:136"
                  },
                  "nativeSrc": "31958:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31958:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "32025:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "32025:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32030:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32030:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32021:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32021:3:136"
                        },
                        "nativeSrc": "32021:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32021:12:136"
                      },
                      {
                        "hexValue": "2d666f727761726420737465702023",
                        "kind": "string",
                        "nativeSrc": "32035:17:136",
                        "nodeType": "YulLiteral",
                        "src": "32035:17:136",
                        "type": "",
                        "value": "-forward step #"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32014:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32014:6:136"
                    },
                    "nativeSrc": "32014:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32014:39:136"
                  },
                  "nativeSrc": "32014:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32014:39:136"
                },
                {
                  "nativeSrc": "32062:46:136",
                  "nodeType": "YulAssignment",
                  "src": "32062:46:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "32087:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32087:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "32099:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "32099:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32104:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32104:2:136",
                            "type": "",
                            "value": "47"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32095:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32095:3:136"
                        },
                        "nativeSrc": "32095:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32095:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "32069:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "32069:17:136"
                    },
                    "nativeSrc": "32069:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32069:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "32062:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32062:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_660927f1d3975fbaf8360286ebf165ad3e8e5bce4efe5490c7319bb5a3258834_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "31708:406:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "31924:3:136",
                "nodeType": "YulTypedName",
                "src": "31924:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31929:6:136",
                "nodeType": "YulTypedName",
                "src": "31929:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "31940:3:136",
                "nodeType": "YulTypedName",
                "src": "31940:3:136",
                "type": ""
              }
            ],
            "src": "31708:406:136"
          },
          {
            "body": {
              "nativeSrc": "32220:238:136",
              "nodeType": "YulBlock",
              "src": "32220:238:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32266:16:136",
                    "nodeType": "YulBlock",
                    "src": "32266:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32275:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32275:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32278:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32278:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32268:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32268:6:136"
                          },
                          "nativeSrc": "32268:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32268:12:136"
                        },
                        "nativeSrc": "32268:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32268:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32241:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "32241:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32250:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32250:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32237:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32237:3:136"
                        },
                        "nativeSrc": "32237:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32237:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32262:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32262:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32233:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32233:3:136"
                    },
                    "nativeSrc": "32233:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32233:32:136"
                  },
                  "nativeSrc": "32230:52:136",
                  "nodeType": "YulIf",
                  "src": "32230:52:136"
                },
                {
                  "nativeSrc": "32291:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32291:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32317:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32317:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "32304:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "32304:12:136"
                    },
                    "nativeSrc": "32304:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32304:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32295:5:136",
                      "nodeType": "YulTypedName",
                      "src": "32295:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32412:16:136",
                    "nodeType": "YulBlock",
                    "src": "32412:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32421:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32421:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32424:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32424:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32414:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32414:6:136"
                          },
                          "nativeSrc": "32414:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32414:12:136"
                        },
                        "nativeSrc": "32414:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32414:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "32349:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "32349:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "32360:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "32360:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32371:36:136",
                                    "nodeType": "YulLiteral",
                                    "src": "32371:36:136",
                                    "type": "",
                                    "value": "0xffffffffffffffffffffffffffffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "32367:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "32367:3:136"
                                },
                                "nativeSrc": "32367:41:136",
                                "nodeType": "YulFunctionCall",
                                "src": "32367:41:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "32356:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "32356:3:136"
                            },
                            "nativeSrc": "32356:53:136",
                            "nodeType": "YulFunctionCall",
                            "src": "32356:53:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "32346:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "32346:2:136"
                        },
                        "nativeSrc": "32346:64:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32346:64:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "32339:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32339:6:136"
                    },
                    "nativeSrc": "32339:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32339:72:136"
                  },
                  "nativeSrc": "32336:92:136",
                  "nodeType": "YulIf",
                  "src": "32336:92:136"
                },
                {
                  "nativeSrc": "32437:15:136",
                  "nodeType": "YulAssignment",
                  "src": "32437:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "32447:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "32447:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "32437:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32437:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_QueryUUID_$37149",
            "nativeSrc": "32119:339:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32186:9:136",
                "nodeType": "YulTypedName",
                "src": "32186:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32197:7:136",
                "nodeType": "YulTypedName",
                "src": "32197:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32209:6:136",
                "nodeType": "YulTypedName",
                "src": "32209:6:136",
                "type": ""
              }
            ],
            "src": "32119:339:136"
          },
          {
            "body": {
              "nativeSrc": "32508:149:136",
              "nodeType": "YulBlock",
              "src": "32508:149:136",
              "statements": [
                {
                  "nativeSrc": "32518:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32518:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "32533:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "32533:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32536:18:136",
                        "nodeType": "YulLiteral",
                        "src": "32536:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "32529:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32529:3:136"
                    },
                    "nativeSrc": "32529:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32529:26:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "32522:3:136",
                      "nodeType": "YulTypedName",
                      "src": "32522:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32579:22:136",
                    "nodeType": "YulBlock",
                    "src": "32579:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "32581:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "32581:16:136"
                          },
                          "nativeSrc": "32581:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32581:18:136"
                        },
                        "nativeSrc": "32581:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32581:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "32574:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "32574:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "32567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32567:6:136"
                    },
                    "nativeSrc": "32567:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32567:11:136"
                  },
                  "nativeSrc": "32564:37:136",
                  "nodeType": "YulIf",
                  "src": "32564:37:136"
                },
                {
                  "nativeSrc": "32610:41:136",
                  "nodeType": "YulAssignment",
                  "src": "32610:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "32623:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "32623:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32626:18:136",
                            "nodeType": "YulLiteral",
                            "src": "32626:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32619:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32619:3:136"
                        },
                        "nativeSrc": "32619:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32619:26:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "32647:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "32647:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "32615:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32615:3:136"
                    },
                    "nativeSrc": "32615:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32615:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "32610:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "32610:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "32463:194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "32493:1:136",
                "nodeType": "YulTypedName",
                "src": "32493:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "32496:1:136",
                "nodeType": "YulTypedName",
                "src": "32496:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "32502:1:136",
                "nodeType": "YulTypedName",
                "src": "32502:1:136",
                "type": ""
              }
            ],
            "src": "32463:194:136"
          },
          {
            "body": {
              "nativeSrc": "33031:451:136",
              "nodeType": "YulBlock",
              "src": "33031:451:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33048:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33048:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33063:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33063:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "33075:36:136",
                                "nodeType": "YulLiteral",
                                "src": "33075:36:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "33071:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "33071:3:136"
                            },
                            "nativeSrc": "33071:41:136",
                            "nodeType": "YulFunctionCall",
                            "src": "33071:41:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33059:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33059:3:136"
                        },
                        "nativeSrc": "33059:54:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33059:54:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33041:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33041:6:136"
                    },
                    "nativeSrc": "33041:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33041:73:136"
                  },
                  "nativeSrc": "33041:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33041:73:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33134:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33134:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33145:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33145:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33130:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33130:3:136"
                        },
                        "nativeSrc": "33130:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33130:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33150:3:136",
                        "nodeType": "YulLiteral",
                        "src": "33150:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33123:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33123:6:136"
                    },
                    "nativeSrc": "33123:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33123:31:136"
                  },
                  "nativeSrc": "33123:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33123:31:136"
                },
                {
                  "nativeSrc": "33163:76:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33163:76:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "33203:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33203:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "33211:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33211:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33223:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33223:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33234:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33234:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33219:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33219:3:136"
                        },
                        "nativeSrc": "33219:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33219:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "33177:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "33177:25:136"
                    },
                    "nativeSrc": "33177:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33177:62:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "33167:6:136",
                      "nodeType": "YulTypedName",
                      "src": "33167:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33259:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33259:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33270:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33270:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33255:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33255:3:136"
                        },
                        "nativeSrc": "33255:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33255:18:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "33275:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33275:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33248:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33248:6:136"
                    },
                    "nativeSrc": "33248:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33248:34:136"
                  },
                  "nativeSrc": "33248:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33248:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33302:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33302:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33313:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33313:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33298:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33298:3:136"
                        },
                        "nativeSrc": "33298:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33298:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "33322:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33322:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33330:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33330:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33318:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33318:3:136"
                        },
                        "nativeSrc": "33318:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33318:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33291:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33291:6:136"
                    },
                    "nativeSrc": "33291:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33291:59:136"
                  },
                  "nativeSrc": "33291:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33291:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33370:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33370:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33381:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33381:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33366:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33366:3:136"
                        },
                        "nativeSrc": "33366:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33366:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "33391:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33391:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33399:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33399:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33387:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33387:3:136"
                        },
                        "nativeSrc": "33387:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33387:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33359:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33359:6:136"
                    },
                    "nativeSrc": "33359:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33359:51:136"
                  },
                  "nativeSrc": "33359:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33359:51:136"
                },
                {
                  "nativeSrc": "33419:57:136",
                  "nodeType": "YulAssignment",
                  "src": "33419:57:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "33453:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33453:6:136"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "33461:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33461:6:136"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "33469:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33469:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "33427:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "33427:25:136"
                    },
                    "nativeSrc": "33427:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33427:49:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33419:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33419:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_QueryUUID_$37149_t_bytes_calldata_ptr_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_calldata_ptr__to_t_bytes15_t_bytes_memory_ptr_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "32662:820:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32952:9:136",
                "nodeType": "YulTypedName",
                "src": "32952:9:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "32963:6:136",
                "nodeType": "YulTypedName",
                "src": "32963:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "32971:6:136",
                "nodeType": "YulTypedName",
                "src": "32971:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "32979:6:136",
                "nodeType": "YulTypedName",
                "src": "32979:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "32987:6:136",
                "nodeType": "YulTypedName",
                "src": "32987:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "32995:6:136",
                "nodeType": "YulTypedName",
                "src": "32995:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33003:6:136",
                "nodeType": "YulTypedName",
                "src": "33003:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33011:6:136",
                "nodeType": "YulTypedName",
                "src": "33011:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33022:4:136",
                "nodeType": "YulTypedName",
                "src": "33022:4:136",
                "type": ""
              }
            ],
            "src": "32662:820:136"
          },
          {
            "body": {
              "nativeSrc": "33535:146:136",
              "nodeType": "YulBlock",
              "src": "33535:146:136",
              "statements": [
                {
                  "nativeSrc": "33545:67:136",
                  "nodeType": "YulAssignment",
                  "src": "33545:67:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "33561:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "33561:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33564:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33564:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33557:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33557:3:136"
                        },
                        "nativeSrc": "33557:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33557:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "33589:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "33589:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33592:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33592:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33585:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33585:3:136"
                        },
                        "nativeSrc": "33585:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33585:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "33553:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33553:3:136"
                    },
                    "nativeSrc": "33553:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33553:59:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "33545:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33545:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "33653:22:136",
                    "nodeType": "YulBlock",
                    "src": "33653:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "33655:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "33655:16:136"
                          },
                          "nativeSrc": "33655:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33655:18:136"
                        },
                        "nativeSrc": "33655:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33655:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "33627:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "33627:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33633:18:136",
                        "nodeType": "YulLiteral",
                        "src": "33633:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "33624:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "33624:2:136"
                    },
                    "nativeSrc": "33624:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33624:28:136"
                  },
                  "nativeSrc": "33621:54:136",
                  "nodeType": "YulIf",
                  "src": "33621:54:136"
                }
              ]
            },
            "name": "checked_sub_t_uint64",
            "nativeSrc": "33487:194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "33517:1:136",
                "nodeType": "YulTypedName",
                "src": "33517:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "33520:1:136",
                "nodeType": "YulTypedName",
                "src": "33520:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "33526:4:136",
                "nodeType": "YulTypedName",
                "src": "33526:4:136",
                "type": ""
              }
            ],
            "src": "33487:194:136"
          },
          {
            "body": {
              "nativeSrc": "33737:217:136",
              "nodeType": "YulBlock",
              "src": "33737:217:136",
              "statements": [
                {
                  "nativeSrc": "33747:78:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33747:78:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "33774:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "33774:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33777:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33777:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33770:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33770:3:136"
                        },
                        "nativeSrc": "33770:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33770:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "33802:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "33802:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33805:18:136",
                            "nodeType": "YulLiteral",
                            "src": "33805:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33798:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33798:3:136"
                        },
                        "nativeSrc": "33798:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33798:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "33766:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33766:3:136"
                    },
                    "nativeSrc": "33766:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33766:59:136"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "33751:11:136",
                      "nodeType": "YulTypedName",
                      "src": "33751:11:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33834:47:136",
                  "nodeType": "YulAssignment",
                  "src": "33834:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "33849:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "33849:11:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33862:18:136",
                        "nodeType": "YulLiteral",
                        "src": "33862:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "33845:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33845:3:136"
                    },
                    "nativeSrc": "33845:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33845:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "33834:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "33834:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "33926:22:136",
                    "nodeType": "YulBlock",
                    "src": "33926:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "33928:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "33928:16:136"
                          },
                          "nativeSrc": "33928:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33928:18:136"
                        },
                        "nativeSrc": "33928:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33928:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "33903:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33903:7:136"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "33912:11:136",
                            "nodeType": "YulIdentifier",
                            "src": "33912:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "33900:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "33900:2:136"
                        },
                        "nativeSrc": "33900:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33900:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "33893:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33893:6:136"
                    },
                    "nativeSrc": "33893:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33893:32:136"
                  },
                  "nativeSrc": "33890:58:136",
                  "nodeType": "YulIf",
                  "src": "33890:58:136"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "33686:268:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "33716:1:136",
                "nodeType": "YulTypedName",
                "src": "33716:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "33719:1:136",
                "nodeType": "YulTypedName",
                "src": "33719:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "33725:7:136",
                "nodeType": "YulTypedName",
                "src": "33725:7:136",
                "type": ""
              }
            ],
            "src": "33686:268:136"
          },
          {
            "body": {
              "nativeSrc": "34058:87:136",
              "nodeType": "YulBlock",
              "src": "34058:87:136",
              "statements": [
                {
                  "nativeSrc": "34068:26:136",
                  "nodeType": "YulAssignment",
                  "src": "34068:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34080:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34080:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34091:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34091:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34076:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34076:3:136"
                    },
                    "nativeSrc": "34076:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34076:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34068:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "34068:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34110:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34110:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34125:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34125:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34133:4:136",
                            "nodeType": "YulLiteral",
                            "src": "34133:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34121:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34121:3:136"
                        },
                        "nativeSrc": "34121:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34121:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34103:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34103:6:136"
                    },
                    "nativeSrc": "34103:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34103:36:136"
                  },
                  "nativeSrc": "34103:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34103:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "33959:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34027:9:136",
                "nodeType": "YulTypedName",
                "src": "34027:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34038:6:136",
                "nodeType": "YulTypedName",
                "src": "34038:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34049:4:136",
                "nodeType": "YulTypedName",
                "src": "34049:4:136",
                "type": ""
              }
            ],
            "src": "33959:186:136"
          },
          {
            "body": {
              "nativeSrc": "34197:167:136",
              "nodeType": "YulBlock",
              "src": "34197:167:136",
              "statements": [
                {
                  "nativeSrc": "34207:47:136",
                  "nodeType": "YulAssignment",
                  "src": "34207:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "34230:1:136",
                            "nodeType": "YulLiteral",
                            "src": "34230:1:136",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "x",
                            "nativeSrc": "34233:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "34233:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "34219:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "34219:10:136"
                        },
                        "nativeSrc": "34219:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34219:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "34248:1:136",
                            "nodeType": "YulLiteral",
                            "src": "34248:1:136",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "y",
                            "nativeSrc": "34251:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "34251:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "34237:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "34237:10:136"
                        },
                        "nativeSrc": "34237:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34237:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "34215:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34215:3:136"
                    },
                    "nativeSrc": "34215:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34215:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "34207:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "34207:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34336:22:136",
                    "nodeType": "YulBlock",
                    "src": "34336:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "34338:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "34338:16:136"
                          },
                          "nativeSrc": "34338:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34338:18:136"
                        },
                        "nativeSrc": "34338:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34338:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "34273:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "34273:4:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "34283:18:136",
                                "nodeType": "YulLiteral",
                                "src": "34283:18:136",
                                "type": "",
                                "value": "0x7fffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "34279:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "34279:3:136"
                            },
                            "nativeSrc": "34279:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "34279:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "34269:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34269:3:136"
                        },
                        "nativeSrc": "34269:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34269:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "34309:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "34309:4:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34315:18:136",
                            "nodeType": "YulLiteral",
                            "src": "34315:18:136",
                            "type": "",
                            "value": "0x7fffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "sgt",
                          "nativeSrc": "34305:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34305:3:136"
                        },
                        "nativeSrc": "34305:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34305:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "34266:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "34266:2:136"
                    },
                    "nativeSrc": "34266:69:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34266:69:136"
                  },
                  "nativeSrc": "34263:95:136",
                  "nodeType": "YulIf",
                  "src": "34263:95:136"
                }
              ]
            },
            "name": "checked_sub_t_int64",
            "nativeSrc": "34150:214:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34179:1:136",
                "nodeType": "YulTypedName",
                "src": "34179:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34182:1:136",
                "nodeType": "YulTypedName",
                "src": "34182:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "34188:4:136",
                "nodeType": "YulTypedName",
                "src": "34188:4:136",
                "type": ""
              }
            ],
            "src": "34150:214:136"
          },
          {
            "body": {
              "nativeSrc": "34504:130:136",
              "nodeType": "YulBlock",
              "src": "34504:130:136",
              "statements": [
                {
                  "nativeSrc": "34514:26:136",
                  "nodeType": "YulAssignment",
                  "src": "34514:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34526:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34526:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34537:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34537:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34522:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34522:3:136"
                    },
                    "nativeSrc": "34522:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34522:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34514:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "34514:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34556:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34556:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34571:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34571:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34579:4:136",
                            "nodeType": "YulLiteral",
                            "src": "34579:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34567:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34567:3:136"
                        },
                        "nativeSrc": "34567:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34567:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34549:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34549:6:136"
                    },
                    "nativeSrc": "34549:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34549:36:136"
                  },
                  "nativeSrc": "34549:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34549:36:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34605:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34605:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34616:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34616:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34601:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34601:3:136"
                        },
                        "nativeSrc": "34601:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34601:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "34621:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34621:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34594:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34594:6:136"
                    },
                    "nativeSrc": "34594:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34594:34:136"
                  },
                  "nativeSrc": "34594:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34594:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "34369:265:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34465:9:136",
                "nodeType": "YulTypedName",
                "src": "34465:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "34476:6:136",
                "nodeType": "YulTypedName",
                "src": "34476:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34484:6:136",
                "nodeType": "YulTypedName",
                "src": "34484:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34495:4:136",
                "nodeType": "YulTypedName",
                "src": "34495:4:136",
                "type": ""
              }
            ],
            "src": "34369:265:136"
          },
          {
            "body": {
              "nativeSrc": "34709:116:136",
              "nodeType": "YulBlock",
              "src": "34709:116:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34755:16:136",
                    "nodeType": "YulBlock",
                    "src": "34755:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34764:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34764:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34767:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34767:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34757:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34757:6:136"
                          },
                          "nativeSrc": "34757:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34757:12:136"
                        },
                        "nativeSrc": "34757:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34757:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34730:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34730:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34739:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34739:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34726:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34726:3:136"
                        },
                        "nativeSrc": "34726:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34726:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34751:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34751:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34722:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34722:3:136"
                    },
                    "nativeSrc": "34722:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34722:32:136"
                  },
                  "nativeSrc": "34719:52:136",
                  "nodeType": "YulIf",
                  "src": "34719:52:136"
                },
                {
                  "nativeSrc": "34780:39:136",
                  "nodeType": "YulAssignment",
                  "src": "34780:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34809:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34809:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes16",
                      "nativeSrc": "34790:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "34790:18:136"
                    },
                    "nativeSrc": "34790:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34790:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34780:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34780:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes16",
            "nativeSrc": "34639:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34675:9:136",
                "nodeType": "YulTypedName",
                "src": "34675:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34686:7:136",
                "nodeType": "YulTypedName",
                "src": "34686:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34698:6:136",
                "nodeType": "YulTypedName",
                "src": "34698:6:136",
                "type": ""
              }
            ],
            "src": "34639:186:136"
          },
          {
            "body": {
              "nativeSrc": "35115:461:136",
              "nodeType": "YulBlock",
              "src": "35115:461:136",
              "statements": [
                {
                  "nativeSrc": "35125:27:136",
                  "nodeType": "YulAssignment",
                  "src": "35125:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35137:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35137:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35148:3:136",
                        "nodeType": "YulLiteral",
                        "src": "35148:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35133:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35133:3:136"
                    },
                    "nativeSrc": "35133:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35133:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "35125:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "35125:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35168:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35168:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "35183:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35183:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35191:10:136",
                            "nodeType": "YulLiteral",
                            "src": "35191:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35179:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35179:3:136"
                        },
                        "nativeSrc": "35179:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35179:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35161:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35161:6:136"
                    },
                    "nativeSrc": "35161:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35161:42:136"
                  },
                  "nativeSrc": "35161:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35161:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35223:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35223:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35234:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35234:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35219:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35219:3:136"
                        },
                        "nativeSrc": "35219:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35219:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "35243:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35243:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35251:10:136",
                            "nodeType": "YulLiteral",
                            "src": "35251:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35239:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35239:3:136"
                        },
                        "nativeSrc": "35239:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35239:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35212:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35212:6:136"
                    },
                    "nativeSrc": "35212:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35212:51:136"
                  },
                  "nativeSrc": "35212:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35212:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35283:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35283:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35294:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35294:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35279:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35279:3:136"
                        },
                        "nativeSrc": "35279:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35279:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "35303:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35303:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "35315:18:136",
                                "nodeType": "YulLiteral",
                                "src": "35315:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "35311:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35311:3:136"
                            },
                            "nativeSrc": "35311:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35311:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35299:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35299:3:136"
                        },
                        "nativeSrc": "35299:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35299:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35272:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35272:6:136"
                    },
                    "nativeSrc": "35272:64:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35272:64:136"
                  },
                  "nativeSrc": "35272:64:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35272:64:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35356:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35356:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35367:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35367:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35352:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35352:3:136"
                        },
                        "nativeSrc": "35352:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35352:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "35376:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35376:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "35388:34:136",
                                "nodeType": "YulLiteral",
                                "src": "35388:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "35384:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35384:3:136"
                            },
                            "nativeSrc": "35384:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35384:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35372:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35372:3:136"
                        },
                        "nativeSrc": "35372:52:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35372:52:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35345:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35345:6:136"
                    },
                    "nativeSrc": "35345:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35345:80:136"
                  },
                  "nativeSrc": "35345:80:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35345:80:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35445:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35445:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35456:3:136",
                            "nodeType": "YulLiteral",
                            "src": "35456:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35441:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35441:3:136"
                        },
                        "nativeSrc": "35441:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35441:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "35466:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35466:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "35478:34:136",
                                "nodeType": "YulLiteral",
                                "src": "35478:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "35474:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35474:3:136"
                            },
                            "nativeSrc": "35474:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35474:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35462:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35462:3:136"
                        },
                        "nativeSrc": "35462:52:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35462:52:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35434:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35434:6:136"
                    },
                    "nativeSrc": "35434:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35434:81:136"
                  },
                  "nativeSrc": "35434:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35434:81:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35541:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35541:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35552:3:136",
                            "nodeType": "YulLiteral",
                            "src": "35552:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35537:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35537:3:136"
                        },
                        "nativeSrc": "35537:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35537:19:136"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "35558:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35558:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35566:3:136",
                        "nodeType": "YulLiteral",
                        "src": "35566:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "35524:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "35524:12:136"
                    },
                    "nativeSrc": "35524:46:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35524:46:136"
                  },
                  "nativeSrc": "35524:46:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35524:46:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_calldata_ptr__to_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed",
            "nativeSrc": "34830:746:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35044:9:136",
                "nodeType": "YulTypedName",
                "src": "35044:9:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "35055:6:136",
                "nodeType": "YulTypedName",
                "src": "35055:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "35063:6:136",
                "nodeType": "YulTypedName",
                "src": "35063:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "35071:6:136",
                "nodeType": "YulTypedName",
                "src": "35071:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "35079:6:136",
                "nodeType": "YulTypedName",
                "src": "35079:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "35087:6:136",
                "nodeType": "YulTypedName",
                "src": "35087:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "35095:6:136",
                "nodeType": "YulTypedName",
                "src": "35095:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "35106:4:136",
                "nodeType": "YulTypedName",
                "src": "35106:4:136",
                "type": ""
              }
            ],
            "src": "34830:746:136"
          },
          {
            "body": {
              "nativeSrc": "35861:687:136",
              "nodeType": "YulBlock",
              "src": "35861:687:136",
              "statements": [
                {
                  "nativeSrc": "35871:27:136",
                  "nodeType": "YulAssignment",
                  "src": "35871:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35883:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35883:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35894:3:136",
                        "nodeType": "YulLiteral",
                        "src": "35894:3:136",
                        "type": "",
                        "value": "288"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35879:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35879:3:136"
                    },
                    "nativeSrc": "35879:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35879:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "35871:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "35871:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35914:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35914:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "35929:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35929:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35937:10:136",
                            "nodeType": "YulLiteral",
                            "src": "35937:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35925:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35925:3:136"
                        },
                        "nativeSrc": "35925:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35925:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35907:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35907:6:136"
                    },
                    "nativeSrc": "35907:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35907:42:136"
                  },
                  "nativeSrc": "35907:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35907:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35969:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "35969:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35980:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35980:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35965:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35965:3:136"
                        },
                        "nativeSrc": "35965:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35965:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "35989:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35989:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35997:10:136",
                            "nodeType": "YulLiteral",
                            "src": "35997:10:136",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35985:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35985:3:136"
                        },
                        "nativeSrc": "35985:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35985:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35958:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35958:6:136"
                    },
                    "nativeSrc": "35958:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35958:51:136"
                  },
                  "nativeSrc": "35958:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35958:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36029:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "36029:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36040:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36040:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36025:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36025:3:136"
                        },
                        "nativeSrc": "36025:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36025:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "36049:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36049:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "36061:18:136",
                                "nodeType": "YulLiteral",
                                "src": "36061:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "36057:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36057:3:136"
                            },
                            "nativeSrc": "36057:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36057:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36045:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36045:3:136"
                        },
                        "nativeSrc": "36045:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36045:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36018:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36018:6:136"
                    },
                    "nativeSrc": "36018:64:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36018:64:136"
                  },
                  "nativeSrc": "36018:64:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36018:64:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36102:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "36102:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36113:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36113:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36098:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36098:3:136"
                        },
                        "nativeSrc": "36098:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36098:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "36122:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36122:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "36134:34:136",
                                "nodeType": "YulLiteral",
                                "src": "36134:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "36130:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36130:3:136"
                            },
                            "nativeSrc": "36130:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36130:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36118:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36118:3:136"
                        },
                        "nativeSrc": "36118:52:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36118:52:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36091:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36091:6:136"
                    },
                    "nativeSrc": "36091:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36091:80:136"
                  },
                  "nativeSrc": "36091:80:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36091:80:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36191:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "36191:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36202:3:136",
                            "nodeType": "YulLiteral",
                            "src": "36202:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36187:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36187:3:136"
                        },
                        "nativeSrc": "36187:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36187:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "36212:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36212:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "36224:34:136",
                                "nodeType": "YulLiteral",
                                "src": "36224:34:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "36220:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36220:3:136"
                            },
                            "nativeSrc": "36220:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36220:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36208:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36208:3:136"
                        },
                        "nativeSrc": "36208:52:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36208:52:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36180:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36180:6:136"
                    },
                    "nativeSrc": "36180:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36180:81:136"
                  },
                  "nativeSrc": "36180:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36180:81:136"
                },
                {
                  "nativeSrc": "36270:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36270:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36285:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "36285:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36296:3:136",
                        "nodeType": "YulLiteral",
                        "src": "36296:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36281:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36281:3:136"
                    },
                    "nativeSrc": "36281:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36281:19:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "36274:3:136",
                      "nodeType": "YulTypedName",
                      "src": "36274:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36309:10:136",
                  "nodeType": "YulAssignment",
                  "src": "36309:10:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "36316:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "36316:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "36309:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36309:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "36328:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36328:20:136",
                  "value": {
                    "name": "value5",
                    "nativeSrc": "36342:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "36342:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "36332:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36332:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36357:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36357:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36366:1:136",
                    "nodeType": "YulLiteral",
                    "src": "36366:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "36361:1:136",
                      "nodeType": "YulTypedName",
                      "src": "36361:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36423:119:136",
                    "nodeType": "YulBlock",
                    "src": "36423:119:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "36444:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36444:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "36455:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36455:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sload",
                                "nativeSrc": "36449:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "36449:5:136"
                              },
                              "nativeSrc": "36449:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "36449:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "36437:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36437:6:136"
                          },
                          "nativeSrc": "36437:26:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36437:26:136"
                        },
                        "nativeSrc": "36437:26:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36437:26:136"
                      },
                      {
                        "nativeSrc": "36476:19:136",
                        "nodeType": "YulAssignment",
                        "src": "36476:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "36487:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36487:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36492:2:136",
                              "nodeType": "YulLiteral",
                              "src": "36492:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36483:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36483:3:136"
                          },
                          "nativeSrc": "36483:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36483:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "36476:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36476:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "36508:24:136",
                        "nodeType": "YulAssignment",
                        "src": "36508:24:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "36522:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "36522:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36530:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36530:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36518:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36518:3:136"
                          },
                          "nativeSrc": "36518:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36518:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "36508:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36508:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "36387:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36387:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36390:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36390:4:136",
                        "type": "",
                        "value": "0x04"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "36384:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "36384:2:136"
                    },
                    "nativeSrc": "36384:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36384:11:136"
                  },
                  "nativeSrc": "36376:166:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "36396:18:136",
                    "nodeType": "YulBlock",
                    "src": "36396:18:136",
                    "statements": [
                      {
                        "nativeSrc": "36398:14:136",
                        "nodeType": "YulAssignment",
                        "src": "36398:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "36407:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "36407:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36410:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36410:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36403:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36403:3:136"
                          },
                          "nativeSrc": "36403:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36403:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "36398:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "36398:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "36380:3:136",
                    "nodeType": "YulBlock",
                    "src": "36380:3:136",
                    "statements": []
                  },
                  "src": "36376:166:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_storage__to_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed",
            "nativeSrc": "35581:967:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35790:9:136",
                "nodeType": "YulTypedName",
                "src": "35790:9:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "35801:6:136",
                "nodeType": "YulTypedName",
                "src": "35801:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "35809:6:136",
                "nodeType": "YulTypedName",
                "src": "35809:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "35817:6:136",
                "nodeType": "YulTypedName",
                "src": "35817:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "35825:6:136",
                "nodeType": "YulTypedName",
                "src": "35825:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "35833:6:136",
                "nodeType": "YulTypedName",
                "src": "35833:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "35841:6:136",
                "nodeType": "YulTypedName",
                "src": "35841:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "35852:4:136",
                "nodeType": "YulTypedName",
                "src": "35852:4:136",
                "type": ""
              }
            ],
            "src": "35581:967:136"
          },
          {
            "body": {
              "nativeSrc": "36591:74:136",
              "nodeType": "YulBlock",
              "src": "36591:74:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36614:22:136",
                    "nodeType": "YulBlock",
                    "src": "36614:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "36616:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "36616:16:136"
                          },
                          "nativeSrc": "36616:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36616:18:136"
                        },
                        "nativeSrc": "36616:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36616:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "36611:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36611:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36604:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36604:6:136"
                    },
                    "nativeSrc": "36604:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36604:9:136"
                  },
                  "nativeSrc": "36601:35:136",
                  "nodeType": "YulIf",
                  "src": "36601:35:136"
                },
                {
                  "nativeSrc": "36645:14:136",
                  "nodeType": "YulAssignment",
                  "src": "36645:14:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "36654:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36654:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "36657:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36657:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "36650:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36650:3:136"
                    },
                    "nativeSrc": "36650:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36650:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "36645:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "36645:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "36553:112:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36576:1:136",
                "nodeType": "YulTypedName",
                "src": "36576:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36579:1:136",
                "nodeType": "YulTypedName",
                "src": "36579:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "36585:1:136",
                "nodeType": "YulTypedName",
                "src": "36585:1:136",
                "type": ""
              }
            ],
            "src": "36553:112:136"
          },
          {
            "body": {
              "nativeSrc": "36716:74:136",
              "nodeType": "YulBlock",
              "src": "36716:74:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36739:22:136",
                    "nodeType": "YulBlock",
                    "src": "36739:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "36741:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "36741:16:136"
                          },
                          "nativeSrc": "36741:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36741:18:136"
                        },
                        "nativeSrc": "36741:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36741:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "36736:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36736:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36729:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36729:6:136"
                    },
                    "nativeSrc": "36729:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36729:9:136"
                  },
                  "nativeSrc": "36726:35:136",
                  "nodeType": "YulIf",
                  "src": "36726:35:136"
                },
                {
                  "nativeSrc": "36770:14:136",
                  "nodeType": "YulAssignment",
                  "src": "36770:14:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "36779:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36779:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "36782:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "36782:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "36775:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36775:3:136"
                    },
                    "nativeSrc": "36775:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36775:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "36770:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "36770:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint256",
            "nativeSrc": "36670:120:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36701:1:136",
                "nodeType": "YulTypedName",
                "src": "36701:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36704:1:136",
                "nodeType": "YulTypedName",
                "src": "36704:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "36710:1:136",
                "nodeType": "YulTypedName",
                "src": "36710:1:136",
                "type": ""
              }
            ],
            "src": "36670:120:136"
          },
          {
            "body": {
              "nativeSrc": "36841:102:136",
              "nodeType": "YulBlock",
              "src": "36841:102:136",
              "statements": [
                {
                  "nativeSrc": "36851:38:136",
                  "nodeType": "YulAssignment",
                  "src": "36851:38:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "36866:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "36866:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36869:4:136",
                            "nodeType": "YulLiteral",
                            "src": "36869:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36862:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36862:3:136"
                        },
                        "nativeSrc": "36862:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36862:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "36880:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "36880:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36883:4:136",
                            "nodeType": "YulLiteral",
                            "src": "36883:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36876:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36876:3:136"
                        },
                        "nativeSrc": "36876:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36876:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36858:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36858:3:136"
                    },
                    "nativeSrc": "36858:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36858:31:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "36851:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36851:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36915:22:136",
                    "nodeType": "YulBlock",
                    "src": "36915:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "36917:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "36917:16:136"
                          },
                          "nativeSrc": "36917:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36917:18:136"
                        },
                        "nativeSrc": "36917:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36917:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "36904:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "36904:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36909:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36909:4:136",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36901:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "36901:2:136"
                    },
                    "nativeSrc": "36901:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36901:13:136"
                  },
                  "nativeSrc": "36898:39:136",
                  "nodeType": "YulIf",
                  "src": "36898:39:136"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "36795:148:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36824:1:136",
                "nodeType": "YulTypedName",
                "src": "36824:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36827:1:136",
                "nodeType": "YulTypedName",
                "src": "36827:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "36833:3:136",
                "nodeType": "YulTypedName",
                "src": "36833:3:136",
                "type": ""
              }
            ],
            "src": "36795:148:136"
          },
          {
            "body": {
              "nativeSrc": "36995:88:136",
              "nodeType": "YulBlock",
              "src": "36995:88:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37026:22:136",
                    "nodeType": "YulBlock",
                    "src": "37026:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37028:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "37028:16:136"
                          },
                          "nativeSrc": "37028:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37028:18:136"
                        },
                        "nativeSrc": "37028:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37028:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "37011:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "37011:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37022:1:136",
                            "nodeType": "YulLiteral",
                            "src": "37022:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "37018:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37018:3:136"
                        },
                        "nativeSrc": "37018:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37018:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "37008:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37008:2:136"
                    },
                    "nativeSrc": "37008:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37008:17:136"
                  },
                  "nativeSrc": "37005:43:136",
                  "nodeType": "YulIf",
                  "src": "37005:43:136"
                },
                {
                  "nativeSrc": "37057:20:136",
                  "nodeType": "YulAssignment",
                  "src": "37057:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "37068:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "37068:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37075:1:136",
                        "nodeType": "YulLiteral",
                        "src": "37075:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37064:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37064:3:136"
                    },
                    "nativeSrc": "37064:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37064:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "37057:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37057:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "36948:135:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "36977:5:136",
                "nodeType": "YulTypedName",
                "src": "36977:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "36987:3:136",
                "nodeType": "YulTypedName",
                "src": "36987:3:136",
                "type": ""
              }
            ],
            "src": "36948:135:136"
          },
          {
            "body": {
              "nativeSrc": "37189:124:136",
              "nodeType": "YulBlock",
              "src": "37189:124:136",
              "statements": [
                {
                  "nativeSrc": "37199:26:136",
                  "nodeType": "YulAssignment",
                  "src": "37199:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37211:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37211:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37222:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37222:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37207:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37207:3:136"
                    },
                    "nativeSrc": "37207:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37207:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37199:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "37199:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37241:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37241:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "37256:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37256:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37268:36:136",
                                "nodeType": "YulLiteral",
                                "src": "37268:36:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "37264:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37264:3:136"
                            },
                            "nativeSrc": "37264:41:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37264:41:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37252:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37252:3:136"
                        },
                        "nativeSrc": "37252:54:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37252:54:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37234:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37234:6:136"
                    },
                    "nativeSrc": "37234:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37234:73:136"
                  },
                  "nativeSrc": "37234:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37234:73:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes15__to_t_bytes15__fromStack_reversed",
            "nativeSrc": "37088:225:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37158:9:136",
                "nodeType": "YulTypedName",
                "src": "37158:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37169:6:136",
                "nodeType": "YulTypedName",
                "src": "37169:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37180:4:136",
                "nodeType": "YulTypedName",
                "src": "37180:4:136",
                "type": ""
              }
            ],
            "src": "37088:225:136"
          },
          {
            "body": {
              "nativeSrc": "37499:217:136",
              "nodeType": "YulBlock",
              "src": "37499:217:136",
              "statements": [
                {
                  "nativeSrc": "37509:27:136",
                  "nodeType": "YulAssignment",
                  "src": "37509:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37521:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37521:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37532:3:136",
                        "nodeType": "YulLiteral",
                        "src": "37532:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37517:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37517:3:136"
                    },
                    "nativeSrc": "37517:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37517:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37509:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "37509:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37552:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37552:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37563:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37563:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37545:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37545:6:136"
                    },
                    "nativeSrc": "37545:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37545:25:136"
                  },
                  "nativeSrc": "37545:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37545:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37590:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37590:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37601:2:136",
                            "nodeType": "YulLiteral",
                            "src": "37601:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37586:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37586:3:136"
                        },
                        "nativeSrc": "37586:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37586:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "37610:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37610:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37618:4:136",
                            "nodeType": "YulLiteral",
                            "src": "37618:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37606:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37606:3:136"
                        },
                        "nativeSrc": "37606:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37606:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37579:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37579:6:136"
                    },
                    "nativeSrc": "37579:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37579:45:136"
                  },
                  "nativeSrc": "37579:45:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37579:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37644:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37644:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37655:2:136",
                            "nodeType": "YulLiteral",
                            "src": "37655:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37640:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37640:3:136"
                        },
                        "nativeSrc": "37640:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37640:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37660:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37660:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37633:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37633:6:136"
                    },
                    "nativeSrc": "37633:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37633:34:136"
                  },
                  "nativeSrc": "37633:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37633:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37687:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37687:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37698:2:136",
                            "nodeType": "YulLiteral",
                            "src": "37698:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37683:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37683:3:136"
                        },
                        "nativeSrc": "37683:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37683:18:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "37703:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37703:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37676:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37676:6:136"
                    },
                    "nativeSrc": "37676:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37676:34:136"
                  },
                  "nativeSrc": "37676:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37676:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed",
            "nativeSrc": "37318:398:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37444:9:136",
                "nodeType": "YulTypedName",
                "src": "37444:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "37455:6:136",
                "nodeType": "YulTypedName",
                "src": "37455:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "37463:6:136",
                "nodeType": "YulTypedName",
                "src": "37463:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37471:6:136",
                "nodeType": "YulTypedName",
                "src": "37471:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37479:6:136",
                "nodeType": "YulTypedName",
                "src": "37479:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37490:4:136",
                "nodeType": "YulTypedName",
                "src": "37490:4:136",
                "type": ""
              }
            ],
            "src": "37318:398:136"
          },
          {
            "body": {
              "nativeSrc": "37850:119:136",
              "nodeType": "YulBlock",
              "src": "37850:119:136",
              "statements": [
                {
                  "nativeSrc": "37860:26:136",
                  "nodeType": "YulAssignment",
                  "src": "37860:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37872:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37872:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37883:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37883:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37868:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37868:3:136"
                    },
                    "nativeSrc": "37868:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37868:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37860:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "37860:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37902:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37902:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37913:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37913:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37895:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37895:6:136"
                    },
                    "nativeSrc": "37895:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37895:25:136"
                  },
                  "nativeSrc": "37895:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37895:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37940:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37940:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37951:2:136",
                            "nodeType": "YulLiteral",
                            "src": "37951:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37936:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37936:3:136"
                        },
                        "nativeSrc": "37936:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37936:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "37956:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37956:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37929:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37929:6:136"
                    },
                    "nativeSrc": "37929:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37929:34:136"
                  },
                  "nativeSrc": "37929:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37929:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37721:248:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37811:9:136",
                "nodeType": "YulTypedName",
                "src": "37811:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37822:6:136",
                "nodeType": "YulTypedName",
                "src": "37822:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37830:6:136",
                "nodeType": "YulTypedName",
                "src": "37830:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37841:4:136",
                "nodeType": "YulTypedName",
                "src": "37841:4:136",
                "type": ""
              }
            ],
            "src": "37721:248:136"
          },
          {
            "body": {
              "nativeSrc": "38099:141:136",
              "nodeType": "YulBlock",
              "src": "38099:141:136",
              "statements": [
                {
                  "nativeSrc": "38109:26:136",
                  "nodeType": "YulAssignment",
                  "src": "38109:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38121:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "38121:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38132:2:136",
                        "nodeType": "YulLiteral",
                        "src": "38132:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38117:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38117:3:136"
                    },
                    "nativeSrc": "38117:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38117:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "38109:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "38109:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38151:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "38151:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "38166:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38166:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38174:4:136",
                            "nodeType": "YulLiteral",
                            "src": "38174:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "38162:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38162:3:136"
                        },
                        "nativeSrc": "38162:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38162:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38144:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "38144:6:136"
                    },
                    "nativeSrc": "38144:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38144:36:136"
                  },
                  "nativeSrc": "38144:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "38144:36:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38200:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "38200:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38211:2:136",
                            "nodeType": "YulLiteral",
                            "src": "38211:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38196:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38196:3:136"
                        },
                        "nativeSrc": "38196:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38196:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "38220:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38220:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38228:4:136",
                            "nodeType": "YulLiteral",
                            "src": "38228:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "38216:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38216:3:136"
                        },
                        "nativeSrc": "38216:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38216:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38189:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "38189:6:136"
                    },
                    "nativeSrc": "38189:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38189:45:136"
                  },
                  "nativeSrc": "38189:45:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "38189:45:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37974:266:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38060:9:136",
                "nodeType": "YulTypedName",
                "src": "38060:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "38071:6:136",
                "nodeType": "YulTypedName",
                "src": "38071:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "38079:6:136",
                "nodeType": "YulTypedName",
                "src": "38079:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "38090:4:136",
                "nodeType": "YulTypedName",
                "src": "38090:4:136",
                "type": ""
              }
            ],
            "src": "37974:266:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_array_struct_FastForward_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_DataPushReport_$37274_calldata_ptrt_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptrt_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 224) { revert(0, 0) }\n        value0 := _1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value1_1, value2_1 := abi_decode_array_struct_FastForward_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value1 := value1_1\n        value2 := value2_1\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_struct_FastForward_calldata_dyn_calldata(add(headStart, offset_2), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_userDefinedValueType_Timestamp(value, pos)\n    {\n        mstore(pos, and(value, 0xffffffffffffffff))\n    }\n    function abi_encode_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_uint8(value, pos)\n    { mstore(pos, and(value, 0xff)) }\n    function abi_encode_struct_CBOR(value, pos) -> end\n    {\n        let memberValue0 := mload(value)\n        mstore(pos, 0xc0)\n        let memberValue0_1 := mload(memberValue0)\n        mstore(add(pos, 0xc0), 0x40)\n        let tail := abi_encode_bytes(memberValue0_1, add(pos, 256))\n        mstore(add(pos, 224), mload(add(memberValue0, 0x20)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n        let memberValue0_2 := mload(add(value, 0x40))\n        abi_encode_uint8(memberValue0_2, add(pos, 0x40))\n        let memberValue0_3 := mload(add(value, 0x60))\n        abi_encode_uint8(memberValue0_3, add(pos, 0x60))\n        let memberValue0_4 := mload(add(value, 0x80))\n        abi_encode_userDefinedValueType_Timestamp(memberValue0_4, add(pos, 0x80))\n        let memberValue0_5 := mload(add(value, 0xa0))\n        abi_encode_userDefinedValueType_Timestamp(memberValue0_5, add(pos, 0xa0))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_DataResult_$37293_memory_ptr__to_t_struct$_DataResult_$37293_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let _1 := mload(value0)\n        if iszero(lt(_1, 256)) { panic_error_0x21() }\n        mstore(add(headStart, 32), _1)\n        let memberValue0 := mload(add(value0, 32))\n        if iszero(lt(memberValue0, 20)) { panic_error_0x21() }\n        mstore(add(headStart, 64), memberValue0)\n        mstore(add(headStart, 96), mload(add(value0, 64)))\n        mstore(add(headStart, 128), mload(add(value0, 96)))\n        let memberValue0_1 := mload(add(value0, 128))\n        abi_encode_userDefinedValueType_Timestamp(memberValue0_1, add(headStart, 160))\n        let memberValue0_2 := mload(add(value0, 160))\n        mstore(add(headStart, 0xc0), 0xc0)\n        tail := abi_encode_struct_CBOR(memberValue0_2, add(headStart, 224))\n    }\n    function abi_decode_tuple_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_FastForward_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_struct$_Beacon_$37242_memory_ptr__to_t_struct$_Beacon_$37242_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 288)\n        mstore(headStart, and(mload(value0), 0xffffffff))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), not(0xffffffffffffffff)))\n        mstore(add(headStart, 0x60), and(mload(add(value0, 0x60)), not(0xffffffffffffffffffffffffffffffff)))\n        mstore(add(headStart, 0x80), and(mload(add(value0, 0x80)), not(0xffffffffffffffffffffffffffffffff)))\n        let memberValue0 := mload(add(value0, 0xa0))\n        let pos := add(headStart, 0xa0)\n        pos := pos\n        let srcPtr := memberValue0\n        let i := 0\n        for { } lt(i, 0x04) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n    }\n    function abi_decode_struct_DataPullReport_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 192) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptrt_struct$_DataPullReport_$37259_calldata_ptrt_array$_t_bytes32_$dyn_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_FastForward_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        value2 := abi_decode_struct_DataPullReport_calldata(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_struct_FastForward_calldata_dyn_calldata(add(headStart, offset_2), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n        let value := 0\n        value := calldataload(add(headStart, 96))\n        value5 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 128))\n        value6 := value_1\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_struct$_Query_$18074_storage_ptrt_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := 0\n        value := calldataload(add(headStart, 32))\n        value1 := value\n    }\n    function validator_assert_enum_QueryStatus(value)\n    {\n        if iszero(lt(value, 7)) { panic_error_0x21() }\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$37335__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        validator_assert_enum_QueryStatus(value0)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 32))\n        value1 := value_1\n        let value_2 := 0\n        value_2 := calldataload(add(headStart, 64))\n        value2 := value_2\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_QueryEvmReward_$37147__to_t_uint72__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffffff))\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let value := 0\n        value := calldataload(add(headStart, 32))\n        value1 := value\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function abi_decode_tuple_t_struct$_DataPullReport_$37259_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_struct_DataPullReport_calldata(add(headStart, offset), dataEnd)\n        let value := 0\n        value := calldataload(add(headStart, 32))\n        value1 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 64))\n        value2 := value_1\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_uint64_t_userDefinedValueType$_QueryId_$37151_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_bytes_memory_ptr__to_t_address_t_uint256_t_uint64_t_uint64_t_uint64_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, 0xffffffffffffffff))\n        mstore(add(headStart, 96), and(value3, 0xffffffffffffffff))\n        mstore(add(headStart, 128), and(value4, 0xffffffffffffffff))\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), 224)\n        tail := abi_encode_bytes(value6, add(headStart, 224))\n    }\n    function abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        validator_assert_enum_QueryStatus(value0)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        let value := 0\n        value := calldataload(add(headStart, 64))\n        value2 := value\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function validator_revert_userDefinedValueType_Timestamp(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_Timestamp_$37157(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_Timestamp(value)\n        value0 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory_4662() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 128)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_uint16(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_QuerySLA_$37373_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 96)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 96)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, abi_decode_uint16(headStart))\n        mstore(add(memPtr, 32), abi_decode_uint16(add(headStart, 32)))\n        let value := calldataload(add(headStart, 64))\n        validator_revert_userDefinedValueType_Timestamp(value)\n        mstore(add(memPtr, 64), value)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 20)\n        mstore(add(headStart, 64), \"invalid query report\")\n        tail := add(headStart, 96)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        sum := add(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(sum, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"misleading head beacon\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 20)\n        mstore(add(headStart, 64), \"invalid merkle proof\")\n        tail := add(headStart, 96)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function access_calldata_tail_t_struct$_FastForward_$37306_calldata_ptr(base_ref, ptr_to_tail) -> addr\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(382)))) { revert(0, 0) }\n        addr := add(base_ref, rel_offset_of_tail)\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_7f77c2a36003d13fc3beb2f5e9db50b9dbdda64862198a6fa3eb9f4582586ede__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 38)\n        mstore(add(headStart, 64), \"fast-forwarding from unmatching \")\n        mstore(add(headStart, 96), \"beacon\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_bytes24(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, not(0xffffffffffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_bytes16(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, not(0xffffffffffffffffffffffffffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_Beacon_$37242_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 288)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let value := allocate_memory()\n        mstore(value, abi_decode_uint32(headStart))\n        mstore(add(value, 32), abi_decode_uint32(add(headStart, 32)))\n        mstore(add(value, 64), abi_decode_bytes24(add(headStart, 64)))\n        mstore(add(value, 96), abi_decode_bytes16(add(headStart, 96)))\n        mstore(add(value, 128), abi_decode_bytes16(add(headStart, 128)))\n        if iszero(slt(add(headStart, 191), dataEnd)) { revert(0, 0) }\n        let dst := allocate_memory_4662()\n        let array := dst\n        let srcEnd := add(headStart, 288)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(headStart, 160)\n        for { } lt(src, srcEnd) { src := add(src, 32) }\n        {\n            let value_1 := 0\n            value_1 := calldataload(src)\n            mstore(dst, value_1)\n            dst := add(dst, 32)\n        }\n        mstore(add(value, 160), array)\n        value0 := value\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_QueryId_$37151(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_Timestamp(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_BlockNumber_$37145(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_Timestamp(value)\n        value0 := value\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function array_dataslot_bytes_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_t_bytes32_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_storage__to_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), 96)\n        let ret := 0\n        let slotValue := sload(value2)\n        let length := extract_byte_array_length(slotValue)\n        mstore(add(headStart, 96), length)\n        switch and(slotValue, 1)\n        case 0 {\n            mstore(add(headStart, 128), and(slotValue, not(255)))\n            ret := add(add(headStart, shl(5, iszero(iszero(length)))), 128)\n        }\n        case 1 {\n            mstore(0, value2)\n            let dataPos := keccak256(0, 32)\n            let i := 0\n            for { } lt(i, length) { i := add(i, 32) }\n            {\n                mstore(add(add(headStart, i), 128), sload(dataPos))\n                dataPos := add(dataPos, 1)\n            }\n            ret := add(add(headStart, i), 128)\n        }\n        tail := ret\n    }\n    function abi_encode_bytes_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_stringliteral_24bdda1cf2a692f83edcf117fd882ed46cbe111e98e12fb2697ec59abde15abf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"proving no fake report\")\n        tail := add(headStart, 96)\n    }\n    function clean_up_bytearray_end_slots_bytes_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _1 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _1) { start := add(start, 1) }\n            { sstore(start, 0) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_c57b0850c73f4c2916e4682c7a87668d231d8f5dd2bd28b2a62627d190ff0d28__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"proving disputed fake report\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"invalid query status: \")\n        end := abi_encode_string(value0, add(pos, 22))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 17)\n        mstore(add(headStart, 64), \"not the requester\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_ceb3611326ed6e8350a8da4ee52174f60253d2126408fc371fc7f35e3685dbc5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"not in Reported status\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_QueryId_$37151_t_address__to_t_uint64_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_35ab08c51d3c5f6dce9e2f229c8cce621755785a49ae5048c5948e3805dfc55b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 15)\n        mstore(add(headStart, 64), \"already claimed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_d285be098162e22a15cc3e3fee4099ba3acd4047ac179f34dc9773de76e8ba76__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 16)\n        mstore(add(headStart, 64), \"not the disputer\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_25c1b05ad606754ebedea8c707fd3ca00a280785cfb74e4d5d3656f93c1005d2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"unauthorized query reporter\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"Escrowable: insufficient balance\")\n        tail := add(headStart, 96)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Escrowable: insufficient collate\")\n        mstore(add(headStart, 96), \"ral\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_struct$_Beacon_$37242_memory_ptr__to_t_struct$_Beacon_$37242_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 288)\n        mstore(headStart, and(mload(value0), 0xffffffff))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), not(0xffffffffffffffff)))\n        mstore(add(headStart, 0x60), and(mload(add(value0, 0x60)), not(0xffffffffffffffffffffffffffffffff)))\n        mstore(add(headStart, 0x80), and(mload(add(value0, 0x80)), not(0xffffffffffffffffffffffffffffffff)))\n        let memberValue0 := mload(add(value0, 0xa0))\n        let pos := add(headStart, 0xa0)\n        pos := pos\n        let srcPtr := memberValue0\n        let i := 0\n        for { } lt(i, 0x04) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n    }\n    function abi_decode_tuple_t_uint16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint16(headStart)\n    }\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_Timestamp(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_RadonHash_$37153_t_uint16_t_uint16_t_uint64_t_userDefinedValueType$_Timestamp_$37157_t_bytes_calldata_ptr__to_t_bytes32_t_bytes32_t_uint16_t_uint16_t_uint64_t_uint64_t_bytes_memory_ptr__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, 0xffff))\n        mstore(add(headStart, 96), and(value3, 0xffff))\n        mstore(add(headStart, 128), and(value4, 0xffffffffffffffff))\n        mstore(add(headStart, 160), and(value5, 0xffffffffffffffff))\n        mstore(add(headStart, 192), 224)\n        tail := abi_encode_bytes_calldata(value6, value7, add(headStart, 224))\n    }\n    function abi_decode_tuple_t_bytes24(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bytes24(headStart)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_a7b1ac190fd243ec293383d2b73f595475f32ba89118ac1827f5c29238ec9185_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"mismatching beacons on fast-forw\")\n        mstore(add(pos, 32), \"ard step #\")\n        end := abi_encode_string(value0, add(pos, 42))\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint32(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xffffffff), y_1)\n    }\n    function access_calldata_tail_t_array$_t_array$_t_uint256_$4_calldata_ptr_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), shl(7, length))) { revert(0, 0) }\n    }\n    function abi_encode_tuple_packed_t_stringliteral_660927f1d3975fbaf8360286ebf165ad3e8e5bce4efe5490c7319bb5a3258834_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"too many missing pubkeys on fast\")\n        mstore(add(pos, 32), \"-forward step #\")\n        end := abi_encode_string(value0, add(pos, 47))\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_QueryUUID_$37149(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, not(0xffffffffffffffffffffffffffffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffffffffffff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xffffffffffffffff), y_1)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_QueryUUID_$37149_t_bytes_calldata_ptr_t_userDefinedValueType$_TransactionHash_$37159_t_userDefinedValueType$_BlockNumber_$37145_t_bytes_calldata_ptr__to_t_bytes15_t_bytes_memory_ptr_t_bytes32_t_uint64_t_bytes_memory_ptr__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, not(0xffffffffffffffffffffffffffffffffff)))\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_bytes_calldata(value1, value2, add(headStart, 160))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), and(value4, 0xffffffffffffffff))\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        tail := abi_encode_bytes_calldata(value5, value6, tail_1)\n    }\n    function checked_sub_t_uint64(x, y) -> diff\n    {\n        diff := sub(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(diff, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let product_raw := mul(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        product := and(product_raw, 0xffffffffffffffff)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function checked_sub_t_int64(x, y) -> diff\n    {\n        diff := sub(signextend(7, x), signextend(7, y))\n        if or(slt(diff, not(0x7fffffffffffffff)), sgt(diff, 0x7fffffffffffffff)) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint8_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bytes16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bytes16(headStart)\n    }\n    function abi_encode_tuple_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_calldata_ptr__to_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 288)\n        mstore(headStart, and(value0, 0xffffffff))\n        mstore(add(headStart, 32), and(value1, 0xffffffff))\n        mstore(add(headStart, 64), and(value2, not(0xffffffffffffffff)))\n        mstore(add(headStart, 96), and(value3, not(0xffffffffffffffffffffffffffffffff)))\n        mstore(add(headStart, 128), and(value4, not(0xffffffffffffffffffffffffffffffff)))\n        calldatacopy(add(headStart, 160), value5, 128)\n    }\n    function abi_encode_tuple_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_storage__to_t_uint32_t_uint32_t_bytes24_t_bytes16_t_bytes16_t_array$_t_uint256_$4_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 288)\n        mstore(headStart, and(value0, 0xffffffff))\n        mstore(add(headStart, 32), and(value1, 0xffffffff))\n        mstore(add(headStart, 64), and(value2, not(0xffffffffffffffff)))\n        mstore(add(headStart, 96), and(value3, not(0xffffffffffffffffffffffffffffffff)))\n        mstore(add(headStart, 128), and(value4, not(0xffffffffffffffffffffffffffffffff)))\n        let pos := add(headStart, 160)\n        pos := pos\n        let srcPtr := value5\n        let i := 0\n        for { } lt(i, 0x04) { i := add(i, 1) }\n        {\n            mstore(pos, sload(srcPtr))\n            pos := add(pos, 32)\n            srcPtr := add(srcPtr, 1)\n        }\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := div(x, y)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_bytes15__to_t_bytes15__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, not(0xffffffffffffffffffffffffffffffffff)))\n    }\n    function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "327:28113:60:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;327:28113:60;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "327:28113:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21435:1693;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4454:347;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;16274:5153::-;;;;;;;;;;-1:-1:-1;16274:5153:60;;;;;:::i;:::-;;:::i;:::-;;;7202:25:136;;;7190:2;7175:18;16274:5153:60;7048:185:136;9066:1228:60;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5113:1765::-;;;;;;;;;;-1:-1:-1;5113:1765:60;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;8616:33:136;;;8598:52;;8586:2;8571:18;5113:1765:60;8409:247:136;8639:419:60;;;;;;:::i;:::-;;:::i;1968:148::-;;;;;;;;;;-1:-1:-1;1968:148:60;;;;;:::i;:::-;;:::i;:::-;;3400:269;;;;;;;;;;-1:-1:-1;3400:269:60;;;;;:::i;:::-;;:::i;13092:1035::-;;;;;;;;;;-1:-1:-1;13092:1035:60;;;;;:::i;:::-;;:::i;10477:2607::-;;;;;;;;;;-1:-1:-1;10477:2607:60;;;;;:::i;:::-;;:::i;14135:2131::-;;;;;;;;;;-1:-1:-1;14135:2131:60;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;23136:1689::-;;;;;;;;;;-1:-1:-1;23136:1689:60;;;;;:::i;:::-;;:::i;1675:281::-;;;;;;;;;;-1:-1:-1;1675:281:60;;;;;:::i;:::-;;:::i;2124:366::-;;;;;;;;;;-1:-1:-1;2124:366:60;;;;;:::i;:::-;;:::i;6886:1745::-;;;;;;:::i;:::-;;:::i;3016:376::-;;;;;;;;;;-1:-1:-1;3016:376:60;;;;;:::i;:::-;;:::i;2498:510::-;;;;;;;;;;-1:-1:-1;2498:510:60;;;;;:::i;:::-;;:::i;4127:319::-;;;;;;;;;;-1:-1:-1;4127:319:60;;;;;:::i;:::-;;:::i;21435:1693::-;21655:24;;:::i;:::-;21777:19;;;;21753:58;;;;:112;;-1:-1:-1;21864:1:60;21832:22;;;;:6;:22;:::i;:::-;:29;;:33;21753:112;:165;;;;-1:-1:-1;21887:31:60;:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21887:29:60;38384:24:116;;38308:108;21887:31:60;21886:32;21753:165;:249;;;;-1:-1:-1;21969:18:60;;21939:63;;21753:249;:298;;;;-1:-1:-1;22023:28:60;:26;;;;;;;:18;;;:26;:::i;:::-;;:28::i;:::-;21731:369;;;;-1:-1:-1;;;21731:369:60;;14174:2:136;21731:369:60;;;14156:21:136;14213:2;14193:18;;;14186:30;-1:-1:-1;;;14232:18:136;;;14225:50;14292:18;;21731:369:60;;;;;;;;;22148:35;22186:21;22200:6;;22186:13;:21::i;:::-;22148:59;-1:-1:-1;22264:64:60;22305:22;;;;;;;;:::i;:::-;22264:40;:64::i;:::-;:68;;22331:1;22264:68;:::i;:::-;-1:-1:-1;;;;;22240:92:60;:14;:20;;;:92;;;;22218:165;;;;-1:-1:-1;;;22218:165:60;;14851:2:136;22218:165:60;;;14833:21:136;14890:2;14870:18;;;14863:30;-1:-1:-1;;;14909:18:136;;;14902:52;14971:18;;22218:165:60;14649:346:136;22218:165:60;22491:99;22527:13;;22560:15;:6;:13;:15::i;:::-;22491:17;:99::i;:::-;22452:35;;;;-1:-1:-1;;;;;;22452:138:60;;22430:195;;;;-1:-1:-1;;;22430:195:60;;15202:2:136;22430:195:60;;;15184:21:136;15241:2;15221:18;;;15214:30;-1:-1:-1;;;15260:18:136;;;15253:50;15320:18;;22430:195:60;15000:344:136;22430:195:60;22691:340;;;;;;;;;-1:-1:-1;22691:340:60;;;;;;;22645:475;;22691:340;;;22992:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22691:340:60;;;22913:18;;22691:340;;;;;;22826:22;;;;22913:6;22826:22;:::i;:::-;22691:340;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22691:340:60;;;-1:-1:-1;;;22691:340:60;;;;;23046:28;23096:12;22645:31;:475::i;:::-;22638:482;21435:1693;-1:-1:-1;;;;;;;21435:1693:60:o;4454:347::-;4554:25;;:::i;:::-;4619:63;4665:6;;4672:1;4665:9;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4619:14;:38;4634:6;;4619:38;4634:9;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;;;;;;;:::i;:::-;4619:38;;;;;;;;;;;;;:45;;:63;;;;:::i;:::-;4597:151;;;;-1:-1:-1;;;4597:151:60;;16375:2:136;4597:151:60;;;16357:21:136;16414:2;16394:18;;;16387:30;16453:34;16433:18;;;16426:62;-1:-1:-1;;;16504:18:136;;;16497:36;16550:19;;4597:151:60;16173:402:136;4597:151:60;4766:27;4786:6;;4766:19;:27::i;:::-;4759:34;;;;;;;;;;:::i;:::-;;;4454:347;;;;;:::o;16274:5153::-;16608:22;;16686:73;16735:22;;;;:14;:22;:::i;:::-;-1:-1:-1;;;;;16686:73:60;:26;:73::i;:::-;16648:111;;16814:19;16835:46;16885:81;16922:4;16941:14;16885:22;:81::i;:::-;16813:153;;;;16985:14;17001:32;16977:57;;;;;-1:-1:-1;;;16977:57:60;;;;;;;;:::i;:::-;;17082:35;17120:30;17134:15;;17120:13;:30::i;:::-;17082:68;-1:-1:-1;17207:101:60;17262:31;;;;;;;;:::i;:::-;17207:36;:101::i;:::-;:105;;17311:1;17207:105;:::i;:::-;-1:-1:-1;;;;;17183:129:60;:14;:20;;;:129;;;17161:188;;;;-1:-1:-1;;;17161:188:60;;14851:2:136;17161:188:60;;;14833:21:136;14890:2;14870:18;;;14863:30;-1:-1:-1;;;14909:18:136;;;14902:52;14971:18;;17161:188:60;14649:346:136;17161:188:60;17457:117;17493:20;;17533:26;:14;:24;:26::i;17457:117::-;17418:35;;;;-1:-1:-1;;;;;;17418:156:60;;17396:213;;;;-1:-1:-1;;;17396:213:60;;15202:2:136;17396:213:60;;;15184:21:136;15241:2;15221:18;;;15214:30;-1:-1:-1;;;15260:18:136;;;15253:50;15320:18;;17396:213:60;15000:344:136;17396:213:60;17723:31;17757:104;17801:4;17824:22;17757:25;:104::i;:::-;17723:138;-1:-1:-1;17896:27:60;17880:12;:43;;;;;;;;:::i;:::-;;17876:3151;;18353:28;;;;:13;;;18465:29;18408:88;;-1:-1:-1;;;18465:29:60;;-1:-1:-1;;;;;18465:29:60;18408:34;:88::i;:::-;18316:259;;;;;;18523:29;;;;18316:259;;;:::i;:::-;;;;-1:-1:-1;;18316:259:60;;;;;;;;;18306:270;;18316:259;18306:270;;;;18131:26;;;;18185:31;;;;;;;;:::i;:::-;18243:35;;;;:14;:35;:::i;:::-;18094:207;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18084:218;;;;;;:492;18054:588;;;;-1:-1:-1;;;18054:588:60;;21491:2:136;18054:588:60;;;21473:21:136;21530:2;21510:18;;;21503:30;-1:-1:-1;;;21549:18:136;;;21542:52;21611:18;;18054:588:60;21289:346:136;18054:588:60;18765:13;;;:22;18737:147;;-1:-1:-1;;;;;18765:22:60;18810:10;18843:22;18737:5;:147::i;:::-;19020:11;;;;18971:62;;18979:10;;-1:-1:-1;;;19020:11:60;;-1:-1:-1;;;;;19020:11:60;18971:7;:62::i;:::-;19117:13;;;:35;;-1:-1:-1;;;;;;19117:35:60;19142:10;19117:35;;;19203;;;;:14;:35;:::i;:::-;19171:29;;;;:67;;;:29;:67;:::i;:::-;-1:-1:-1;19318:26:60;;;;19257:28;;;:88;19420:67;19455:31;;;;;;;;:::i;:::-;19420:34;:67::i;:::-;19364:13;;;:124;;-1:-1:-1;;;;;19364:124:60;;;;-1:-1:-1;;;19364:124:60;-1:-1:-1;;;;;19364:124:60;;;;;;;;;17876:3151;;;19540:27;19524:12;:43;;;;;;;;:::i;:::-;;19520:1507;;19976:28;;;;:13;;;20088:29;20031:88;;-1:-1:-1;;;20088:29:60;;-1:-1:-1;;;;;20088:29:60;20031:34;:88::i;:::-;19939:259;;;;;;20146:29;;;;19939:259;;;:::i;:::-;;;;-1:-1:-1;;19939:259:60;;;;;;;;;19929:270;;19939:259;19929:270;;;;19754:26;;;;19808:31;;;;;;;;:::i;:::-;19866:35;;;;:14;:35;:::i;:::-;19717:207;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19707:218;;;;;;:492;19677:594;;;;-1:-1:-1;;;19677:594:60;;23734:2:136;19677:594:60;;;23716:21:136;23773:2;23753:18;;;23746:30;23812;23792:18;;;23785:58;23860:18;;19677:594:60;23532:352:136;19677:594:60;20396:22;;;;:13;;;20441:22;20368:159;;-1:-1:-1;;;;;20396:22:60;;;;20441;20486;20368:5;:159::i;:::-;20625:13;;;:22;20678:11;;;;20617:74;;-1:-1:-1;;;;;20625:22:60;;-1:-1:-1;;;20678:11:60;;-1:-1:-1;;;;;20678:11:60;20617:7;:74::i;:::-;20771:22;;;:35;;-1:-1:-1;;;;;;20771:35:60;;;19520:1507;;;20949:41;20977:12;20949:27;:41::i;:::-;20863:146;;;;;;;;:::i;:::-;;;;-1:-1:-1;;20863:146:60;;;;;;;;;;-1:-1:-1;;;20849:162:60;;;;;;;:::i;19520:1507::-;21133:11;;;;21104:66;;21148:22;;-1:-1:-1;;;21133:11:60;;-1:-1:-1;;;;;21133:11:60;21104:66;:::i;:::-;21185:11;;;;;:43;;21312:63;;-1:-1:-1;;;21361:12:60;-1:-1:-1;;;;;21312:63:60;;;;;-1:-1:-1;21185:11:60;;21087:83;-1:-1:-1;;;;;;;;;;;16274:5153:60:o;9066:1228::-;9277:13;;;:29;9237:18;;-1:-1:-1;;;9277:29:60;;-1:-1:-1;;;;;9277:29:60;:34;9273:1014;;9374:15;;;;-1:-1:-1;;;9374:15:60;;-1:-1:-1;;;;;9374:15:60;9332:12;:58;9328:378;;9415:22;;;;-1:-1:-1;;;;;9415:22:60;:36;9411:205;;-1:-1:-1;9483:27:60;9476:34;;9411:205;-1:-1:-1;9568:28:60;9561:35;;9328:378;-1:-1:-1;9663:27:60;9656:34;;9273:1014;9786:15;;;;-1:-1:-1;;;9786:15:60;;-1:-1:-1;;;;;9786:15:60;9738:19;9821:16;;;9817:459;;9865:26;9858:33;;;;;9817:459;9960:26;:22;9985:1;9960:26;:::i;:::-;9946:40;;:11;:40;:::i;:::-;9931:12;:55;9927:349;;;10014:26;10007:33;;;;;9927:349;10083:36;10097:22;10083:11;:36;:::i;:::-;10068:12;:51;10064:212;;;10147:26;10140:33;;;;;10064:212;10235:25;10228:32;;;;;10064:212;9723:564;9066:1228;;;;:::o;5113:1765::-;5301:33;5352:35;5390;5417:7;5390:26;:35::i;:::-;5472:22;;;;-1:-1:-1;;;;;;5472:22:60;5458:10;:36;5436:103;;;;-1:-1:-1;;;5436:103:60;;;;;;;:::i;:::-;5564:11;;;;-1:-1:-1;;;5564:11:60;;-1:-1:-1;;;;;5564:11:60;;-1:-1:-1;5586:31:60;5620:55;5564:11;5652:22;5620:25;:55::i;:::-;5586:89;-1:-1:-1;5838:26:60;5822:12;:42;;;;;;;;:::i;:::-;;5818:934;;-1:-1:-1;;;;;5885:45:60;;;5881:617;;5955:22;;;;-1:-1:-1;;;;;5955:22:60;:36;5951:532;;6114:13;;;:22;6163;;;;6082:175;;-1:-1:-1;;;;;6114:22:60;;;;6163;6212;6082:5;:175::i;:::-;6369:22;;;;6335:128;;-1:-1:-1;;;;;6369:22:60;6418;6335:7;:128::i;:::-;5818:934;;;6545:28;6529:12;:44;;;;;;;;:::i;:::-;;6525:227;;6682:41;6710:12;6682:27;:41::i;6525:227::-;6830:40;;;;:31;:40;;;;;6823:47;;;6830:40;;;6823:47;6830:31;6823:47;;6830:40;6823:47;:::i;:::-;-1:-1:-1;6823:47:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6823:47:60;;;;-1:-1:-1;;;;;;6823:47:60;;;-1:-1:-1;6823:47:60;;;;;-1:-1:-1;;6823:47:60;;;;;;;;;-1:-1:-1;5113:1765:60;;;-1:-1:-1;;;;5113:1765:60:o;8639:419::-;8821:32;;:::i;:::-;8871:31;8905:92;8945:4;8964:22;8905:25;:92::i;:::-;8871:126;;9015:35;9031:4;9037:12;9015:15;:35::i;:::-;9008:42;8639:419;-1:-1:-1;;;;8639:419:60:o;1968:148::-;-1:-1:-1;;;;;2030:18:60;;;;;;-1:-1:-1;;;;;;;;;;;2030:18:60;;;;;:35;;2060:5;;2030:18;:35;;2060:5;;2030:35;:::i;:::-;;;;-1:-1:-1;;2081:27:60;;7202:25:136;;;-1:-1:-1;;;;;2081:27:60;;;;;7190:2:136;7175:18;2081:27:60;;;;;;;;1968:148;;:::o;3400:269::-;-1:-1:-1;;;;;3516:20:60;;3448:18;3516:20;;;-1:-1:-1;;;;;;;;;;;3516:20:60;;;;;;;;3560:16;;3587:20;;;3623:38;;7202:25:136;;;3560:16:60;;3516:20;;;;3623:38;;7175:18:136;3623:38:60;;;;;;;3468:201;3400:269;;;:::o;13092:1035::-;13278:26;13323:35;13361;13388:7;13361:26;:35::i;:::-;13323:73;-1:-1:-1;13537:27:60;13429:104;13473:4;13496:22;13429:25;:104::i;:::-;:135;;;;;;;;:::i;:::-;;13407:194;;;;-1:-1:-1;;;13407:194:60;;25492:2:136;13407:194:60;;;25474:21:136;25531:2;25511:18;;;25504:30;-1:-1:-1;;;25550:18:136;;;25543:52;25612:18;;13407:194:60;25290:346:136;13407:194:60;13612:79;13632:10;13658:22;13612:5;:79::i;:::-;13751:37;13766:22;13751:12;:37;:::i;:::-;13702:15;;;:88;;-1:-1:-1;;;;;13702:88:60;-1:-1:-1;;;;;;;;13702:88:60;;;;;;;13801:22;;;:35;;13826:10;-1:-1:-1;;;;;;13801:35:60;;;;;;;;13852:140;;;25861:31:136;;;25843:50;;25924:2;25909:18;;25902:60;;;;13852:140:60;;25816:18:136;13852:140:60;;;;;;;14054:11;;;;14025:83;;14086:22;;-1:-1:-1;;;14054:11:60;;-1:-1:-1;;;;;14054:11:60;14025:83;:::i;:::-;14003:116;;;13092:1035;;;;;;:::o;10477:2607::-;10660:18;10700:35;10738;10765:7;10738:26;:35::i;:::-;10836:11;;;;;-1:-1:-1;;;;10859:43:60;;;;;-1:-1:-1;;;10836:11:60;;-1:-1:-1;;;;;10836:11:60;;-1:-1:-1;10836:11:60;-1:-1:-1;10836:11:60;10954:79;;;;-1:-1:-1;;;10954:79:60;;26175:2:136;10954:79:60;;;26157:21:136;26214:2;26194:18;;;26187:30;-1:-1:-1;;;26233:18:136;;;26226:45;26288:18;;10954:79:60;25973:339:136;10954:79:60;11137:68;11159:10;11184;11137:7;:68::i;:::-;11218:31;11252:92;11292:4;11311:22;11252:25;:92::i;:::-;11218:126;-1:-1:-1;11375:28:60;11359:12;:44;;;;;;;;:::i;:::-;;11355:1722;;11506:22;;-1:-1:-1;;;;;11506:22:60;11492:10;:36;11466:115;;;;-1:-1:-1;;;11466:115:60;;;;;;;:::i;:::-;11645:93;11671:10;11701:22;11645:7;:93::i;:::-;11355:1722;;;11839:26;11823:12;:42;;;;;;;;:::i;:::-;;11819:1258;;11886:22;;;;-1:-1:-1;;;;;11886:22:60;:36;11882:1001;;12036:22;;;;-1:-1:-1;;;;;12036:22:60;12022:10;:36;11992:126;;;;-1:-1:-1;;;11992:126:60;;26519:2:136;11992:126:60;;;26501:21:136;26558:2;26538:18;;;26531:30;-1:-1:-1;;;26577:18:136;;;26570:46;26633:18;;11992:126:60;26317:340:136;11992:126:60;12217:13;;;:22;12189:148;;-1:-1:-1;;;;;12217:22:60;12262:10;12296:22;12189:5;:148::i;:::-;12410:104;12440:10;12473:22;12410:7;:104::i;:::-;12609:36;12623:22;12609:36;;:::i;:::-;;;11819:1258;;11882:1001;12782:22;;-1:-1:-1;;;;;12782:22:60;12768:10;:36;12738:127;;;;-1:-1:-1;;;12738:127:60;;;;;;;:::i;11819:1258::-;10685:2399;;10477:2607;;;;;:::o;14135:2131::-;14375:20;;;;;;14622:32;14375:20;14720:73;14769:22;;;;:14;:22;:::i;14720:73::-;14682:111;;14805:19;14826:46;14876:81;14913:4;14932:14;14876:22;:81::i;:::-;14804:153;;;;14990:14;15019:32;14968:94;;;;;-1:-1:-1;;;14968:94:60;;;;;;;;:::i;:::-;;15083:31;15117:55;15143:4;15149:22;15117:25;:55::i;:::-;15083:89;-1:-1:-1;15203:25:60;15187:12;:41;;;;;;;;:::i;:::-;;15183:558;;15260:29;:14;:27;:29::i;:::-;15245:44;-1:-1:-1;;;;;;15330:26:60;;15346:10;15330:26;15304:115;;;;-1:-1:-1;;;15304:115:60;;26864:2:136;15304:115:60;;;26846:21:136;26903:2;26883:18;;;26876:30;26942:29;26922:18;;;26915:57;26989:18;;15304:115:60;26662:351:136;15304:115:60;15183:558;;;15468:26;15452:12;:42;;;;;;;;:::i;:::-;;15448:293;;15526:10;15511:25;;15448:293;15794:41;15800:10;15812:22;15794:5;:41::i;:::-;15909:11;;-1:-1:-1;15958:37:60;15973:22;15958:12;:37;:::i;:::-;15931:65;-1:-1:-1;16018:22:60;;;;:14;:22;:::i;:::-;16007:33;;16071:67;16106:14;:31;;;;;;;;;;:::i;16071:67::-;16051:87;-1:-1:-1;16164:26:60;;;;;-1:-1:-1;16223:35:60;;;;16164:14;16223:35;:::i;:::-;16201:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14671:1595;;;;14135:2131;;;;;;;;;;;:::o;23136:1689::-;23352:24;;:::i;:::-;23474:19;;;;23450:58;;;;:112;;-1:-1:-1;23561:1:60;23529:22;;;;:6;:22;:::i;:::-;:29;;:33;23450:112;:165;;;;-1:-1:-1;23584:31:60;:22;;;;;;;;:::i;:31::-;23583:32;23450:165;:249;;;;-1:-1:-1;23666:18:60;;23636:63;;23450:249;:298;;;;-1:-1:-1;23720:28:60;:26;;;;;;;:18;;;:26;:::i;:28::-;23428:369;;;;-1:-1:-1;;;23428:369:60;;14174:2:136;23428:369:60;;;14156:21:136;14213:2;14193:18;;;14186:30;-1:-1:-1;;;14232:18:136;;;14225:50;14292:18;;23428:369:60;13972:344:136;23428:369:60;23845:35;23883:21;23897:6;;23883:13;:21::i;1675:281::-;-1:-1:-1;;;;;1758:20:60;;;;;;-1:-1:-1;;;;;;;;;;;1758:20:60;;;;;:28;:37;-1:-1:-1;1758:37:60;1736:119;;;;-1:-1:-1;;;1736:119:60;;27220:2:136;1736:119:60;;;27202:21:136;;;27239:18;;;27232:30;27298:34;27278:18;;;27271:62;27350:18;;1736:119:60;27018:356:136;1736:119:60;-1:-1:-1;;;;;1866:20:60;;;;;;-1:-1:-1;;;;;;;;;;;1866:20:60;;;;;:37;;1898:5;;1866:20;:37;;1898:5;;1866:37;:::i;:::-;;;;-1:-1:-1;;1919:29:60;;7202:25:136;;;-1:-1:-1;;;;;1919:29:60;;;;;7190:2:136;7175:18;1919:29:60;7048:185:136;2124:366:60;-1:-1:-1;;;;;2223:20:60;;2186:34;2223:20;;;-1:-1:-1;;;;;;;;;;;2223:20:60;;;;;2276:16;;-1:-1:-1;;2276:25:60;2254:107;;;;-1:-1:-1;;;2254:107:60;;27220:2:136;2254:107:60;;;27202:21:136;;;27239:18;;;27232:30;27298:34;27278:18;;;27271:62;27350:18;;2254:107:60;27018:356:136;2254:107:60;2392:5;2372:8;:16;;;:25;;;;;;;:::i;:::-;;;;;;;;2431:5;2408:8;:19;;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;2452:30:60;;7202:25:136;;;-1:-1:-1;;;;;2452:30:60;;;;;7190:2:136;7175:18;2452:30:60;;;;;;;;2175:315;2124:366;;:::o;6886:1745::-;7065:36;7119:31;7153:92;7193:4;7212:22;7153:25;:92::i;:::-;7119:126;-1:-1:-1;7276:28:60;7260:12;:44;;;;;;;;:::i;:::-;;7256:1368;;7350:29;;;7398:19;;7321:26;;7350:29;;7398:19;;;:::i;:::-;;;:23;7394:533;;;7540:15;;-1:-1:-1;;;7559:12:60;7540;;7553:1;;7540:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7540:15:60;-1:-1:-1;;;;;7540:31:60;;;:164;;7662:42;7540:164;;;7595:42;7540:164;7532:191;;;;;;7394:533;7865:46;7858:53;;;;;;7256:1368;7964:27;7948:12;:43;;;;;;;;:::i;:::-;;7944:680;;8015:47;8008:54;;;;;7944:680;8124:25;8108:12;:41;;;;;;;;:::i;:::-;;:104;;;-1:-1:-1;8186:26:60;8170:12;:42;;;;;;;;:::i;:::-;;8108:104;8090:534;;;8246:45;8239:52;;;;;8090:534;8353:26;8337:12;:42;;;;;;;;:::i;:::-;;:106;;;-1:-1:-1;8416:27:60;8400:12;:43;;;;;;;;:::i;:::-;;8337:106;8319:305;;;8477:44;8470:51;;;;;8319:305;8571:41;8564:48;;;;;3016:376;-1:-1:-1;;;;;3117:20:60;;3080:34;3117:20;;;-1:-1:-1;;;;;;;;;;;3117:20:60;;;;;3170:19;;;;:28;-1:-1:-1;3170:28:60;3148:113;;;;-1:-1:-1;;;3148:113:60;;;;;;;:::i;:::-;3295:5;3272:8;:19;;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;3311:25:60;;3331:5;;3311:8;;:16;;:25;;3331:5;;3311:25;:::i;:::-;;;;-1:-1:-1;;3352:32:60;;7202:25:136;;;-1:-1:-1;;;;;3352:32:60;;;;;7190:2:136;7175:18;3352:32:60;7048:185:136;2498:510:60;-1:-1:-1;;;;;2613:20:60;;;2572:38;2613:20;;;-1:-1:-1;;;;;;;;;;;2613:20:60;;;;;;2683:18;;;;;;;2734:23;;;;:32;-1:-1:-1;2734:32:60;2712:117;;;;-1:-1:-1;;;2712:117:60;;;;;;;:::i;:::-;2862:5;2840:10;:18;;;:27;;;;;;;:::i;:::-;;;;;;;;2905:5;2878:12;:23;;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;2926:31:60;;7202:25:136;;;-1:-1:-1;;;;;2926:31:60;;;;;7190:2:136;7175:18;2926:31:60;;;;;;;2990:2;-1:-1:-1;;;;;2973:27:60;;2994:5;2973:27;;;;7202:25:136;;7190:2;7175:18;;7048:185;2973:27:60;;;;;;;;2561:447;;2498:510;;;:::o;4127:319::-;4224:25;;:::i;:::-;4274:21;4288:6;;4274:13;:21::i;:::-;4267:28;-1:-1:-1;4267:28:60;1456:27;4321:10;;4306:26;;;;;;;;:14;;;;:26;;;;;;;;;:33;;;;;;;;;;;;;;;-1:-1:-1;;;4306:33:60;-1:-1:-1;;;;;4306:33:60;;;;;-1:-1:-1;;4306:33:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4306:33:60;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;4380:10:60;;4350:40;;1456:27;4350:40;-1:-1:-1;4406:32:60;;;;;;4380:10;;4406:32;:::i;:::-;;;;;;;;4127:319;;;;:::o;34535:287:116:-;34597:4;34707:1;34683:4;:21;;;:25;;;34636:121;;;;;34754:3;34729:4;:21;;;:28;;;;34636:121;:167;;;;-1:-1:-1;;34778:21:116;;;-1:-1:-1;;;;;34778:25:116;;;;34535:287::o;47258:246::-;47345:6;47371:125;47415:70;47461:9;47415:27;:70::i;26826:413::-;26895:7;26957:16;;26988:17;;;;27020:33;;;;:16;;;:33;:::i;:::-;27068;;;;;;;;:::i;:::-;27116;;;;;;;;:::i;:::-;27164:20;;;;;;;;:::i;:::-;27199;;;;:4;:20;:::i;:::-;26932:298;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26922:309;;;;;;26915:316;;26826:413;;;:::o;40337:250::-;40454:4;40420:13;40469:111;40488:18;;;40469:111;;;40539:29;40550:5;40557;;40563:3;40557:10;;;;;;;:::i;:::-;;;;;;;40539;:29::i;:::-;40531:37;-1:-1:-1;40508:6:116;;40469:111;;;;40337:250;;;;;:::o;3609:3101:58:-;3815:32;;:::i;:::-;3912:28;;;;3865:16;;;:76;-1:-1:-1;3956:16:58;;;:20;;;3952:468;;4080:29;;;;;4127:2;4031:16;;;;4079:50;;;;;4112:10;4031:117;;;;3993:16;;;:170;4220:29;;:35;;;;4178:17;;;:78;3952:468;;;-1:-1:-1;;;;;4289:32:58;;;:16;;;:32;4378:29;;;;4336:72;:17;;;:72;3952:468;4434:29;;;;:36;:40;4430:213;;4507:51;4528:13;:29;;;4507:20;:51::i;:::-;4491:13;;;:67;;;4592:39;;:24;:39::i;:::-;4573:7;:16;;:58;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;4430:213:58;4672:28;4657:11;:43;;;;;;;;:::i;:::-;;4653:2050;;4721:29;;;;:36;:40;4717:1269;;4876:29;;;;:32;;-1:-1:-1;;;4912:12:58;4876:29;4906:1;;4876:32;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;4876:32:58;:48;4872:927;;4999:27;4979:7;:16;;;:47;;;;;;;;:::i;:::-;;:165;;;;-1:-1:-1;5081:13:58;;;;:20;;5103:35;;;;;5143:1;;5059:80;;:21;:80::i;:::-;-1:-1:-1;;;;;5059:85:58;;;4979:165;4949:725;;;5242:29;5199:39;5224:7;:13;;;5199:24;:39::i;:::-;:72;;;;;;;;:::i;:::-;;5195:344;;5341:23;:7;:13;;;:21;:23::i;:::-;5321:44;;;;;;;;;;:::i;:::-;5304:7;;:61;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;4653:2050:58;;5195:344;5473:38;5456:7;5473:38;5456:55;;4872:927;5751:28;5734:7;5751:28;5734:45;;4653:2050;6032:27;6017:11;:42;;;;;;;;:::i;:::-;;6013:690;;6076:7;6093:41;6076:58;;6013:690;6187:25;6172:11;:40;;;;;;;;:::i;:::-;;:102;;;-1:-1:-1;6248:26:58;6233:11;:41;;;;;;;;:::i;:::-;;6172:102;6154:549;;;6301:7;6318:39;6301:56;;6154:549;6418:26;6403:11;:41;;;;;;;;:::i;:::-;;:104;;;-1:-1:-1;6480:27:58;6465:11;:42;;;;;;;;:::i;:::-;;6403:104;6385:318;;;6534:7;6551:42;6534:59;;6385:318;6653:38;6636:55;;:7;3609:3101;-1:-1:-1;;;3609:3101:58:o;24252:180:116:-;24344:4;24402:11;24407:5;24402:4;:11::i;:::-;-1:-1:-1;;24388:25:116;:10;24393:4;24388;:10::i;:::-;-1:-1:-1;;24388:25:116;;;24252:180;-1:-1:-1;;;24252:180:116:o;26108:2329:60:-;26212:22;26268:1;26252:2136;26271:15;;;26252:2136;;;26365:2;;26368:7;26374:1;26368:3;:7;:::i;:::-;26365:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;;;;;:::i;:::-;26337:52;;:2;;26340:3;26337:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;;;;;;;:::i;:::-;:52;;;:129;;;;-1:-1:-1;26441:25:60;:2;;26444:7;26450:1;26444:3;:7;:::i;:::-;26441:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:23;:25::i;:::-;-1:-1:-1;;26414:52:60;:2;;26417:3;26414:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:23;;;;;;;;;:::i;:::-;-1:-1:-1;;26414:52:60;;26337:129;26598:20;26614:3;26598:15;:20::i;:::-;26492:145;;;;;;;;:::i;:::-;;;;;;;;;;;;;26311:342;;;;;-1:-1:-1;;;26311:342:60;;;;;;;;:::i;:::-;-1:-1:-1;26759:44:60;26802:1;1840:2:116;26759:44:60;:::i;:::-;26694:128;;:2;;26697:3;26694:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:31;;;;;;;:::i;:::-;:38;;:128;;26942:20;26958:3;26942:15;:20::i;:::-;26831:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;26668:329;;;;;-1:-1:-1;;;26668:329:60;;;;;;;;:::i;:::-;-1:-1:-1;26288:6:60;;26252:2136;;;-1:-1:-1;28405:2:60;;28408:13;28420:1;28405:2;28408:13;:::i;:::-;28405:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;3052:121:58:-;3111:13;3142:23;;;:14;:23;;;;;;3052:121::o;25356:744:60:-;25682:9;;;;25541:4;;25547:13;;25682:9;;-1:-1:-1;;;;;;25596:96:60;25620:16;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;25596:96:60;;25578:515;;-1:-1:-1;;25719:36:60;;;;;;;;;;;;-1:-1:-1;;;25719:36:60;;;;25727:5;;25719:36;;25578:515;25787:32;:23;;;;;;;;:::i;:32::-;25783:310;;;-1:-1:-1;;25836:38:60;;;;;;;;;;;;-1:-1:-1;;;25836:38:60;;;;25844:5;;25836:38;;25783:310;25906:27;;;;:6;:27;:::i;:::-;:34;;25944:1;25906:39;25902:191;;-1:-1:-1;;25962:38:60;;;;;;;;;;;;-1:-1:-1;;;25962:38:60;;;;25970:5;;25962:38;;25902:191;-1:-1:-1;;26057:13:60;;;26068:1;26057:13;;;;;;;;26051:4;;25902:191;25356:744;;;;;:::o;47101:145:116:-;47182:6;47208:30;47236:2;47227:5;47208:30;:::i;26502:316::-;26574:7;26636:14;;;;;;;;:::i;:::-;26665:26;;;;:4;:26;:::i;:::-;26706:16;;;;26737:21;;;;;;;;:::i;:::-;26773:25;;;;:4;:25;:::i;:::-;26611:198;;;;;;;;;;;;;;:::i;47512:708::-;47593:11;-1:-1:-1;;;;;47621:53:116;;;47617:596;;1759:2;47777:53;1694:1;47794:9;47777:53;:::i;:::-;47776:103;;;;:::i;:::-;47733:146;;1622:1;47733:146;:::i;47617:596::-;-1:-1:-1;;;;;47916:53:116;;;47912:301;;789:2;48029:53;721:1;48046:9;48029:53;:::i;:::-;48028:99;;;;:::i;47912:301::-;-1:-1:-1;48199:1:116;;47512:708;-1:-1:-1;47512:708:116:o;47912:301::-;47512:708;;;:::o;48228:589::-;48307:9;48536:76;1622:1;48555:5;48536:76;:::i;:::-;48486:127;;1759:2;48486:127;:::i;6718:705:58:-;6789:13;6830:25;6819:7;:36;;;;;;;;:::i;:::-;;6815:601;;-1:-1:-1;;6872:15:58;;;;;;;;;;;;-1:-1:-1;;;6872:15:58;;;;;6718:705::o;6815:601::-;6920:27;6909:7;:38;;;;;;;;:::i;:::-;;6905:511;;-1:-1:-1;;6964:17:58;;;;;;;;;;;;-1:-1:-1;;;6964:17:58;;;;;6718:705::o;6905:511::-;7014:28;7003:7;:39;;;;;;;;:::i;:::-;;6999:417;;-1:-1:-1;;7059:18:58;;;;;;;;;;;;-1:-1:-1;;;7059:18:58;;;;;6718:705::o;6999:417::-;7110:26;7099:7;:37;;;;;;;;:::i;:::-;;7095:321;;-1:-1:-1;;7153:16:58;;;;;;;;;;;;-1:-1:-1;;;7153:16:58;;;;;6718:705::o;7095:321::-;7202:26;7191:7;:37;;;;;;;;:::i;:::-;;7187:229;;-1:-1:-1;;7245:16:58;;;;;;;;;;;;-1:-1:-1;;;7245:16:58;;;;;6718:705::o;7187:229::-;7294:27;7283:7;:38;;;;;;;;:::i;:::-;;7279:137;;-1:-1:-1;;7338:17:58;;;;;;;;;;;;-1:-1:-1;;;7338:17:58;;;;;6718:705::o;7279:137::-;-1:-1:-1;;7388:16:58;;;;;;;;;;;;-1:-1:-1;;;7388:16:58;;;;;6718:705::o;25003:345:60:-;25137:24;;:::i;:::-;25186:154;;;;;;;;25232:13;;;25186:154;;-1:-1:-1;;;;;25186:154:60;;;;-1:-1:-1;;;25186:154:60;;;;;;;;-1:-1:-1;;;25186:154:60;;-1:-1:-1;;;;;25186:154:60;;;;;;;;;;;;;;;;;;;;;;;25232:13;25186:154;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25186:154:60;;;-1:-1:-1;;25186:154:60;;;;;;-1:-1:-1;;;;;25186:154:60;;;;;;25313:15;;;;25261:11;;-1:-1:-1;;;25313:15:60;;-1:-1:-1;;;;;25313:15:60;25186:31;:154::i;26279:215:116:-;26354:7;26381:105;26410:26;;;;:4;:26;:::i;:::-;26381:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26452:23:116;;-1:-1:-1;26460:14:116;;-1:-1:-1;;26460:14:116;;;;;;;:::i;:::-;26452:7;:23::i;:::-;26381:14;:105::i;40146:183::-;40211:7;40243:1;40239;:5;:71;;52161:13;52211:15;;;52247:4;52240:16;;;52294:4;52279:20;;40239:71;;;52161:13;52211:15;;;52247:4;52240:16;;;52294:4;52279:20;;40260:17;52094:223;2488:204:118;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;32032:743:116:-;32111:20;32186:10;:4;2152:11:118;:16;;:23;2130:18;;;;;:45;;;2043:138;32186:10:116;32181:587;;32235:1;32217:4;:14;;;:19;;;32213:544;;32333:14;;;;-1:-1:-1;;;32292:40:116;:56;;;;;;;;;:::i;:::-;;32264:87;;;;;;;;:::i;32213:544::-;32391:4;:14;;;:19;;32409:1;32391:19;32387:370;;32435:4;:26;;;:32;;32465:2;32435:32;:68;;;;32471:4;:26;;;:32;;32501:2;32471:32;32435:68;32431:311;;;-1:-1:-1;32535:19:116;;32032:743;-1:-1:-1;32032:743:116:o;32431:311::-;32632:2;32602:4;:26;;;:32;;;;:68;;;;;32668:2;32638:4;:26;;;:32;;;;32602:68;32598:144;;;-1:-1:-1;32702:20:116;;32032:743;-1:-1:-1;32032:743:116:o;8833:697:118:-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:118;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;:::-;9360:26;;;;9318:76;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:118;;9400:67;9480:44;;-1:-1:-1;;;9480:44:118;;34133:4:136;34121:17;;9480:44:118;;;34103:36:136;34076:18;;9480:44:118;33959:186:136;14693:603:118;14761:5;14782:4;:14;;;:19;;14800:1;14782:19;14778:513;;14812:13;14828:78;14849:4;:11;;;14871:4;:26;;;14828:10;:78::i;:::-;14812:94;-1:-1:-1;14922:33:118;14812:94;-1:-1:-1;;14922:33:118;:::i;14778:513::-;14973:4;:14;;;:19;;14991:1;14973:19;14969:322;;15195:14;15204:4;15195:8;:14::i;14969:322::-;15265:14;;;;;15245:38;;-1:-1:-1;;;15245:38:118;;34579:4:136;34567:17;;;15245:38:118;;;34549:36:136;15281:1:118;34601:18:136;;;34594:34;34522:18;;15245:38:118;34369:265:136;24440:339:116;24499:7;24569:10;;;;:4;:10;:::i;:::-;24594:14;;;;;;;;:::i;:::-;24623:13;;;;;;;;:::i;:::-;24651:25;;;;;;;;:::i;:::-;24691;;;;;;;;:::i;:::-;24731:4;:27;;24544:225;;;;;;;;;;;;;:::i;24791:338::-;24919:10;;;25001:25;;;24973:13;24894:225;;24849:7;;24894:225;;24919:10;;;;;24944:14;;;;;;;-1:-1:-1;;;24973:13:116;;;;;;25001:25;;;;;-1:-1:-1;;;25041:25:116;;;;;25081:27;;;;24894:225;;;:::i;50802:536::-;50956:20;;;50918:3;50956:20;;;;;;;;;50870:13;;50918:3;50901:14;;50918:3;50956:20;;;;;;;;;;-1:-1:-1;;50932:44:116;-1:-1:-1;50987:6:116;51008:156;51026:15;51050:6;51054:2;51050:1;:6;:::i;:::-;51026:31;-1:-1:-1;51076:6:116;51080:2;51076:1;:6;:::i;:::-;51072:10;-1:-1:-1;51121:14:116;51126:9;51121:2;:14;:::i;:::-;51114:22;;51097:8;51106:4;;;;:::i;:::-;;;51097:14;;;;;;;;:::i;:::-;;;;:39;-1:-1:-1;;;;;51097:39:116;;;;;;;;;51011:137;51156:1;51161;51156:6;51008:156;;51174:16;51203:1;-1:-1:-1;;;;;51193:12:116;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51193:12:116;-1:-1:-1;51174:31:116;-1:-1:-1;51230:1:116;51216:86;51238:1;51233;:6;51216:86;;51275:8;51284:5;51288:1;51284;:5;:::i;:::-;51275:15;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;51275:15:116;51262:3;51266:5;51270:1;51266;:5;:::i;:::-;51262:10;;;;;;;;:::i;:::-;;;;:28;-1:-1:-1;;;;;51262:28:116;;;;;;;;-1:-1:-1;51241:4:116;;;;:::i;:::-;;;;51216:86;;;-1:-1:-1;51326:3:116;50802:536;-1:-1:-1;;;;;50802:536:116:o;33717:136::-;33810:34;;;-1:-1:-1;;;;;;37252:54:136;;33810:34:116;;;37234:73:136;33773:7:116;;37207:18:136;33810:34:116;37088:225:136;40754:707:116;40859:7;40888:9;:16;40908:2;40888:22;40884:74;;-1:-1:-1;40943:1:116;40927:19;;40884:74;41076:4;41061:20;;41055:27;41122:4;41107:20;;41101:27;41176:4;41161:20;;41155:27;40968:9;41147:36;41221:66;41208:79;;41204:129;;;41319:1;41304:17;;;;;;;41204:129;41347:1;:7;;41352:2;41347:7;;:18;;;;;41358:1;:7;;41363:2;41358:7;;41347:18;41343:68;;;41397:1;41382:17;;;;;;;41343:68;41428:25;;;;;;;;;;;;37545::136;;;37618:4;37606:17;;37586:18;;;37579:45;;;;37640:18;;;37633:34;;;37683:18;;;37676:34;;;41428:25:116;;37517:19:136;;41428:25:116;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;41428:25:116;;-1:-1:-1;;41428:25:116;;;40754:707;-1:-1:-1;;;;;;;40754:707:116:o;3010:1033:118:-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:118;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:118;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:118;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:118::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:118;-1:-1:-1;;;;3569:27:118;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:118::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:118;;34133:4:136;34121:17;;3859:31:118::1;::::0;::::1;34103:36:136::0;34076:18;;3859:31:118::1;33959:186:136::0;3802:96:118::1;-1:-1:-1::0;3911:126:118::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:118;;::::1;::::0;;;;;;::::1;::::0;;;;;-1:-1:-1;2030:1:118::1;3010:1033:::0;;;;:::o;13731:315:117:-;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;37895:25:136;;;37936:18;;;37929:34;;;37868:18;;1036:31:117;37721:248:136;1000:75:117;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:117;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;37895:25:136;;;37936:18;;;37929:34;;;37868:18;;1036:31:117;37721:248:136;1000:75:117;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:117;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:117;;;-1:-1:-1;;;;;14288:323:117:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;37895:25:136;;;37936:18;;;37929:34;;;37868:18;;1036:31:117;37721:248:136;1000:75:117;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:117;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;37895:25:136;;;37936:18;;;37929:34;;;37868:18;;1036:31:117;37721:248:136;1000:75:117;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:117;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;17873:211:118:-:0;17981:6;17945:4;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:118;;38174:4:136;38162:17;;;1813:45:118;;;38144:36:136;38216:17;;;38196:18;;;38189:45;38117:18;;1813:45:118;37974:266:136;1765:101:118;18006:72:::1;18025:4;:11;;;18045:4;:26;;;18006:10;:72::i;-1:-1:-1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:387:136;97:8;107:6;161:3;154:4;146:6;142:17;138:27;128:55;;179:1;176;169:12;128:55;-1:-1:-1;202:20:136;;-1:-1:-1;;;;;234:30:136;;231:50;;;277:1;274;267:12;231:50;314:4;306:6;302:17;290:29;;374:3;367:4;357:6;354:1;350:14;342:6;338:27;334:38;331:47;328:67;;;391:1;388;381:12;406:1129;604:6;612;620;628;636;689:2;677:9;668:7;664:23;660:32;657:52;;;705:1;702;695:12;657:52;745:9;732:23;-1:-1:-1;;;;;770:6:136;767:30;764:50;;;810:1;807;800:12;764:50;833:22;;889:3;871:16;;;867:26;864:46;;;906:1;903;896:12;864:46;929:2;-1:-1:-1;984:2:136;969:18;;956:32;-1:-1:-1;;;;;1000:32:136;;997:52;;;1045:1;1042;1035:12;997:52;1084:92;1168:7;1157:8;1146:9;1142:24;1084:92;:::i;:::-;1195:8;;-1:-1:-1;1058:118:136;-1:-1:-1;;1283:2:136;1268:18;;1255:32;-1:-1:-1;;;;;1299:32:136;;1296:52;;;1344:1;1341;1334:12;1296:52;1383:92;1467:7;1456:8;1445:9;1441:24;1383:92;:::i;:::-;406:1129;;;;-1:-1:-1;406:1129:136;;-1:-1:-1;1494:8:136;;1357:118;406:1129;-1:-1:-1;;;406:1129:136:o;1540:127::-;1601:10;1596:3;1592:20;1589:1;1582:31;1632:4;1629:1;1622:15;1656:4;1653:1;1646:15;1803:288;1844:3;1882:5;1876:12;1909:6;1904:3;1897:19;1965:6;1958:4;1951:5;1947:16;1940:4;1935:3;1931:14;1925:47;2017:1;2010:4;2001:6;1996:3;1992:16;1988:27;1981:38;2080:4;2073:2;2069:7;2064:2;2056:6;2052:15;2048:29;2043:3;2039:39;2035:50;2028:57;;;1803:288;;;;:::o;2176:927::-;2223:3;2267:5;2261:12;2294:4;2289:3;2282:17;2336:12;2330:19;2381:4;2374;2369:3;2365:14;2358:28;2407:47;2449:3;2444;2440:13;2424:14;2407:47;:::i;:::-;2395:59;;2509:4;2495:12;2491:23;2485:30;2479:3;2474;2470:13;2463:53;2577:4;2569;2562:5;2558:16;2552:23;2548:34;2541:4;2536:3;2532:14;2525:58;2631:4;2624:5;2620:16;2614:23;2592:45;;2646:48;2688:4;2683:3;2679:14;2663;2163:4;2152:16;2140:29;;2096:75;2646:48;2742:4;2735:5;2731:16;2725:23;2703:45;;2757:48;2799:4;2794:3;2790:14;2774;2163:4;2152:16;2140:29;;2096:75;2757:48;2853:4;2846:5;2842:16;2836:23;2814:45;;2868:73;2935:4;2930:3;2926:14;2910;-1:-1:-1;;;;;1761:30:136;1749:43;;1672:126;2868:73;2989:4;2982:5;2978:16;2972:23;2950:45;;3004:73;3071:4;3066:3;3062:14;3046;-1:-1:-1;;;;;1761:30:136;1749:43;;1672:126;3108:925;3303:2;3292:9;3285:21;3266:4;3331:6;3325:13;3364:3;3360:2;3357:11;3347:45;;3372:18;;:::i;:::-;3428:2;3423;3412:9;3408:18;3401:30;;3478:2;3470:6;3466:15;3460:22;3518:2;3504:12;3501:20;3491:54;;3525:18;;:::i;:::-;3581:12;3576:2;3565:9;3561:18;3554:40;;3648:2;3640:6;3636:15;3630:22;3625:2;3614:9;3610:18;3603:50;3708:2;3700:6;3696:15;3690:22;3684:3;3673:9;3669:19;3662:51;3762:3;3754:6;3750:16;3744:23;3776:78;3849:3;3838:9;3834:19;3818:14;-1:-1:-1;;;;;1761:30:136;1749:43;;1672:126;3776:78;;3903:3;3895:6;3891:16;3885:23;3946:4;3939;3928:9;3924:20;3917:34;3968:59;4022:3;4011:9;4007:19;3991:14;3968:59;:::i;4038:489::-;4156:6;4164;4217:2;4205:9;4196:7;4192:23;4188:32;4185:52;;;4233:1;4230;4223:12;4185:52;4273:9;4260:23;-1:-1:-1;;;;;4298:6:136;4295:30;4292:50;;;4338:1;4335;4328:12;4292:50;4377:90;4459:7;4450:6;4439:9;4435:22;4377:90;:::i;:::-;4486:8;;4351:116;;-1:-1:-1;4038:489:136;-1:-1:-1;;;;4038:489:136:o;4532:997::-;4682:4;4724:3;4713:9;4709:19;4701:27;;4774:10;4765:6;4759:13;4755:30;4744:9;4737:49;4854:10;4846:4;4838:6;4834:17;4828:24;4824:41;4817:4;4806:9;4802:20;4795:71;-1:-1:-1;;;;;4934:23:136;4926:4;4918:6;4914:17;4908:24;4904:54;4897:4;4886:9;4882:20;4875:84;-1:-1:-1;;;;;5027:39:136;5019:4;5011:6;5007:17;5001:24;4997:70;4990:4;4979:9;4975:20;4968:100;-1:-1:-1;;;;;5136:39:136;5128:4;5120:6;5116:17;5110:24;5106:70;5099:4;5088:9;5084:20;5077:100;5224:4;5216:6;5212:17;5206:24;5265:4;5254:9;5250:20;5342:1;5352:171;5366:4;5363:1;5360:11;5352:171;;;5425:13;;5413:26;;5468:4;5496:17;;;;5459:14;;;;5386:1;5379:9;5352:171;;;5356:3;;;4532:997;;;;:::o;5534:163::-;5601:5;5646:3;5637:6;5632:3;5628:16;5624:26;5621:46;;;5663:1;5660;5653:12;5702:1341;5918:6;5926;5934;5942;5950;5958;5966;6019:3;6007:9;5998:7;5994:23;5990:33;5987:53;;;6036:1;6033;6026:12;5987:53;6076:9;6063:23;-1:-1:-1;;;;;6101:6:136;6098:30;6095:50;;;6141:1;6138;6131:12;6095:50;6180:90;6262:7;6253:6;6242:9;6238:22;6180:90;:::i;:::-;6289:8;;-1:-1:-1;6154:116:136;-1:-1:-1;;6377:2:136;6362:18;;6349:32;-1:-1:-1;;;;;6393:32:136;;6390:52;;;6438:1;6435;6428:12;6390:52;6461:76;6529:7;6518:8;6507:9;6503:24;6461:76;:::i;:::-;6451:86;;;6590:2;6579:9;6575:18;6562:32;-1:-1:-1;;;;;6609:8:136;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6690:92;6774:7;6763:8;6752:9;6748:24;6690:92;:::i;:::-;5702:1341;;;;-1:-1:-1;5702:1341:136;;6801:8;;6664:118;6905:2;6890:18;;6877:32;;7006:3;6991:19;6978:33;;-1:-1:-1;5702:1341:136;-1:-1:-1;;;;5702:1341:136:o;7238:319::-;7331:6;7339;7392:2;7380:9;7371:7;7367:23;7363:32;7360:52;;;7408:1;7405;7398:12;7360:52;-1:-1:-1;;7431:23:136;;;7523:2;7508:18;;;7495:32;;-1:-1:-1;7238:319:136:o;7562:116::-;7646:1;7639:5;7636:12;7626:46;;7652:18;;:::i;7683:250::-;7840:2;7825:18;;7852:41;7886:6;7852:41;:::i;:::-;7902:25;;;7683:250;:::o;7938:466::-;8015:6;8023;8031;8084:2;8072:9;8063:7;8059:23;8055:32;8052:52;;;8100:1;8097;8090:12;8052:52;-1:-1:-1;;8145:23:136;;;8265:2;8250:18;;8237:32;;-1:-1:-1;8368:2:136;8353:18;;;8340:32;;7938:466;-1:-1:-1;7938:466:136:o;8661:173::-;8729:20;;-1:-1:-1;;;;;8778:31:136;;8768:42;;8758:70;;8824:1;8821;8814:12;8839:300;8907:6;8915;8968:2;8956:9;8947:7;8943:23;8939:32;8936:52;;;8984:1;8981;8974:12;8936:52;9007:29;9026:9;9007:29;:::i;:::-;8997:39;9105:2;9090:18;;;;9077:32;;-1:-1:-1;;;8839:300:136:o;9144:186::-;9203:6;9256:2;9244:9;9235:7;9231:23;9227:32;9224:52;;;9272:1;9269;9262:12;9224:52;9295:29;9314:9;9295:29;:::i;9335:605::-;9447:6;9455;9463;9516:2;9504:9;9495:7;9491:23;9487:32;9484:52;;;9532:1;9529;9522:12;9484:52;9572:9;9559:23;-1:-1:-1;;;;;9597:6:136;9594:30;9591:50;;;9637:1;9634;9627:12;9591:50;9660:74;9726:7;9717:6;9706:9;9702:22;9660:74;:::i;:::-;9650:84;9803:2;9788:18;;9775:32;;-1:-1:-1;9904:2:136;9889:18;;;9876:32;;9335:605;-1:-1:-1;;;;9335:605:136:o;9945:850::-;10390:1;10386;10381:3;10377:11;10373:19;10365:6;10361:32;10350:9;10343:51;10430:6;10425:2;10414:9;10410:18;10403:34;-1:-1:-1;;;;;10477:6:136;10473:31;10468:2;10457:9;10453:18;10446:59;-1:-1:-1;;;;;10545:6:136;10541:31;10536:2;10525:9;10521:18;10514:59;-1:-1:-1;;;;;10614:6:136;10610:31;10604:3;10593:9;10589:19;10582:60;10679:6;10673:3;10662:9;10658:19;10651:35;10723:3;10717;10706:9;10702:19;10695:32;10324:4;10744:45;10784:3;10773:9;10769:19;10761:6;10744:45;:::i;:::-;10736:53;9945:850;-1:-1:-1;;;;;;;;;9945:850:136:o;11063:374::-;11140:6;11148;11156;11209:2;11197:9;11188:7;11184:23;11180:32;11177:52;;;11225:1;11222;11215:12;11177:52;11248:29;11267:9;11248:29;:::i;:::-;11238:39;;11296:38;11330:2;11319:9;11315:18;11296:38;:::i;:::-;11063:374;;11286:48;;-1:-1:-1;;;11403:2:136;11388:18;;;;11375:32;;11063:374::o;11442:521::-;11519:4;11525:6;11585:11;11572:25;11679:2;11675:7;11664:8;11648:14;11644:29;11640:43;11620:18;11616:68;11606:96;;11698:1;11695;11688:12;11606:96;11725:33;;11777:20;;;-1:-1:-1;;;;;;11809:30:136;;11806:50;;;11852:1;11849;11842:12;11806:50;11885:4;11873:17;;-1:-1:-1;11916:14:136;11912:27;;;11902:38;;11899:58;;;11953:1;11950;11943:12;11968:153;-1:-1:-1;;;;;12070:5:136;12066:30;12059:5;12056:41;12046:69;;12111:1;12108;12101:12;12126:301;12216:6;12269:2;12257:9;12248:7;12244:23;12240:32;12237:52;;;12285:1;12282;12275:12;12237:52;12324:9;12311:23;12343:54;12391:5;12343:54;:::i;12432:127::-;12493:10;12488:3;12484:20;12481:1;12474:31;12524:4;12521:1;12514:15;12548:4;12545:1;12538:15;12564:248;12631:2;12625:9;12673:4;12661:17;;-1:-1:-1;;;;;12693:34:136;;12729:22;;;12690:62;12687:88;;;12755:18;;:::i;:::-;12791:2;12784:22;12564:248;:::o;12817:252::-;12889:2;12883:9;12931:3;12919:16;;-1:-1:-1;;;;;12950:34:136;;12986:22;;;12947:62;12944:88;;;13012:18;;:::i;13074:159::-;13141:20;;13201:6;13190:18;;13180:29;;13170:57;;13223:1;13220;13213:12;13238:729;13324:6;13384:2;13372:9;13363:7;13359:23;13355:32;13399:2;13396:22;;;13414:1;13411;13404:12;13396:22;-1:-1:-1;13483:2:136;13477:9;13525:2;13513:15;;-1:-1:-1;;;;;13543:34:136;;13579:22;;;13540:62;13537:88;;;13605:18;;:::i;:::-;13641:2;13634:22;13680:28;13698:9;13680:28;:::i;:::-;13672:6;13665:44;13742:37;13775:2;13764:9;13760:18;13742:37;:::i;:::-;13737:2;13729:6;13725:15;13718:62;13830:2;13819:9;13815:18;13802:32;13843:54;13891:5;13843:54;:::i;:::-;13925:2;13913:15;;13906:30;13917:6;13238:729;-1:-1:-1;;;13238:729:136:o;14321:127::-;14382:10;14377:3;14373:20;14370:1;14363:31;14413:4;14410:1;14403:15;14437:4;14434:1;14427:15;14453:191;-1:-1:-1;;;;;14521:26:136;;;14549;;;14517:59;;14588:27;;14585:53;;;14618:18;;:::i;15349:127::-;15410:10;15405:3;15401:20;15398:1;15391:31;15441:4;15438:1;15431:15;15465:4;15462:1;15455:15;15481:330;15579:4;15637:11;15624:25;15731:3;15727:8;15716;15700:14;15696:29;15692:44;15672:18;15668:69;15658:97;;15751:1;15748;15741:12;15658:97;15772:33;;;;;15481:330;-1:-1:-1;;15481:330:136:o;15816:163::-;15883:20;;15943:10;15932:22;;15922:33;;15912:61;;15969:1;15966;15959:12;15984:184;16042:6;16095:2;16083:9;16074:7;16070:23;16066:32;16063:52;;;16111:1;16108;16101:12;16063:52;16134:28;16152:9;16134:28;:::i;16580:177::-;16648:20;;-1:-1:-1;;16697:35:136;;16687:46;;16677:74;;16747:1;16744;16737:12;16762:193;16830:20;;-1:-1:-1;;;;;;16879:51:136;;16869:62;;16859:90;;16945:1;16942;16935:12;16960:1117;17044:6;17104:3;17092:9;17083:7;17079:23;17075:33;17120:2;17117:22;;;17135:1;17132;17125:12;17117:22;-1:-1:-1;17177:17:136;;:::i;:::-;17217:28;17235:9;17217:28;:::i;:::-;17210:5;17203:43;17278:37;17311:2;17300:9;17296:18;17278:37;:::i;:::-;17273:2;17266:5;17262:14;17255:61;17348:38;17382:2;17371:9;17367:18;17348:38;:::i;:::-;17343:2;17336:5;17332:14;17325:62;17419:38;17453:2;17442:9;17438:18;17419:38;:::i;:::-;17414:2;17407:5;17403:14;17396:62;17491:39;17525:3;17514:9;17510:19;17491:39;:::i;:::-;17485:3;17478:5;17474:15;17467:64;17575:7;17569:3;17558:9;17554:19;17550:33;17540:61;;17597:1;17594;17587:12;17540:61;17621:22;;:::i;:::-;17665:3;17706;17695:9;17691:19;17733:7;17725:6;17722:19;17719:39;;;17754:1;17751;17744:12;17719:39;17793:3;17782:9;17778:19;17806:202;17822:6;17817:3;17814:15;17806:202;;;17916:17;;17946:20;;17995:2;17986:12;;;;17839;17806:202;;;-1:-1:-1;;18035:3:136;18024:15;;18017:30;-1:-1:-1;18028:5:136;16960:1117;-1:-1:-1;;;16960:1117:136:o;18386:219::-;18535:2;18524:9;18517:21;18498:4;18555:44;18595:2;18584:9;18580:18;18572:6;18555:44;:::i;18918:380::-;18997:1;18993:12;;;;19040;;;19061:61;;19115:4;19107:6;19103:17;19093:27;;19061:61;19168:2;19160:6;19157:14;19137:18;19134:38;19131:161;;19214:10;19209:3;19205:20;19202:1;19195:31;19249:4;19246:1;19239:15;19277:4;19274:1;19267:15;19428:1100;19660:6;19649:9;19642:25;-1:-1:-1;;;;;19707:6:136;19703:31;19698:2;19687:9;19683:18;19676:59;19771:2;19766;19755:9;19751:18;19744:30;19623:4;19794:1;19827:6;19821:13;19857:36;19883:9;19857:36;:::i;:::-;19929:6;19924:2;19913:9;19909:18;19902:34;19967:1;19956:9;19952:17;19983:1;19978:160;;;;20152:1;20147:355;;;;19945:557;;19978:160;20046:3;20042:8;20031:9;20027:24;20021:3;20010:9;20006:19;19999:53;20124:3;20112:6;20105:14;20098:22;20095:1;20091:30;20080:9;20076:46;20072:56;20065:63;;19978:160;;20147:355;20178:6;20175:1;20168:17;20226:2;20223:1;20213:16;20251:1;20265:180;20279:6;20276:1;20273:13;20265:180;;;20373:14;;20348:17;;;20367:3;20344:27;20337:51;20429:1;20416:15;;;;20301:2;20294:10;20265:180;;;20469:17;;20488:3;20465:27;;-1:-1:-1;;19945:557:136;-1:-1:-1;20519:3:136;;19428:1100;-1:-1:-1;;;;;;;19428:1100:136:o;20533:266::-;20621:6;20616:3;20609:19;20673:6;20666:5;20659:4;20654:3;20650:14;20637:43;-1:-1:-1;20725:1:136;20700:16;;;20718:4;20696:27;;;20689:38;;;;20781:2;20760:15;;;-1:-1:-1;;20756:29:136;20747:39;;;20743:50;;20533:266::o;20804:480::-;21086:6;21075:9;21068:25;-1:-1:-1;;;;;21133:6:136;21129:31;21124:2;21113:9;21109:18;21102:59;21197:2;21192;21181:9;21177:18;21170:30;21049:4;21217:61;21274:2;21263:9;21259:18;21251:6;21243;21217:61;:::i;:::-;21209:69;20804:480;-1:-1:-1;;;;;;20804:480:136:o;21640:517::-;21741:2;21736:3;21733:11;21730:421;;;21777:5;21774:1;21767:16;21821:4;21818:1;21808:18;21891:2;21879:10;21875:19;21872:1;21868:27;21862:4;21858:38;21927:4;21915:10;21912:20;21909:47;;;-1:-1:-1;21950:4:136;21909:47;22005:2;22000:3;21996:12;21993:1;21989:20;21983:4;21979:31;21969:41;;22060:81;22078:2;22071:5;22068:13;22060:81;;;22137:1;22123:16;;22104:1;22093:13;22060:81;;;22064:3;;21730:421;21640:517;;;:::o;22333:1194::-;-1:-1:-1;;;;;22450:3:136;22447:27;22444:53;;;22477:18;;:::i;:::-;22506:93;22595:3;22555:38;22587:4;22581:11;22555:38;:::i;:::-;22549:4;22506:93;:::i;:::-;22625:1;22650:2;22645:3;22642:11;22667:1;22662:607;;;;23313:1;23330:3;23327:93;;;-1:-1:-1;23386:19:136;;;23373:33;23327:93;-1:-1:-1;;22290:1:136;22286:11;;;22282:24;22278:29;22268:40;22314:1;22310:11;;;22265:57;23433:78;;22635:886;;22662:607;19375:1;19368:14;;;19412:4;19399:18;;-1:-1:-1;;22698:17:136;;;22812:229;22826:7;22823:1;22820:14;22812:229;;;22915:19;;;22902:33;22887:49;;23022:4;23007:20;;;;22975:1;22963:14;;;;22842:12;22812:229;;;22816:3;23069;23060:7;23057:16;23054:159;;;23193:1;23189:6;23183:3;23177;23174:1;23170:11;23166:21;23162:34;23158:39;23145:9;23140:3;23136:19;23123:33;23119:79;23111:6;23104:95;23054:159;;;23256:1;23250:3;23247:1;23243:11;23239:19;23233:4;23226:33;22635:886;;22333:1194;;;:::o;23889:212::-;23931:3;23969:5;23963:12;24013:6;24006:4;23999:5;23995:16;23990:3;23984:36;24075:1;24039:16;;24064:13;;;-1:-1:-1;24039:16:136;;23889:212;-1:-1:-1;23889:212:136:o;24106:348::-;-1:-1:-1;;;24363:3:136;24356:37;24338:3;24409:39;24444:2;24439:3;24435:12;24427:6;24409:39;:::i;24459:125::-;24524:9;;;24545:10;;;24542:36;;;24558:18;;:::i;24589:168::-;24662:9;;;24693;;24710:15;;;24704:22;;24690:37;24680:71;;24731:18;;:::i;24762:341::-;24964:2;24946:21;;;25003:2;24983:18;;;24976:30;-1:-1:-1;;;25037:2:136;25022:18;;25015:47;25094:2;25079:18;;24762:341::o;27379:128::-;27446:9;;;27467:11;;;27464:37;;;27481:18;;:::i;27512:399::-;27714:2;27696:21;;;27753:2;27733:18;;;27726:30;27792:34;27787:2;27772:18;;27765:62;-1:-1:-1;;;27858:2:136;27843:18;;27836:33;27901:3;27886:19;;27512:399::o;28910:184::-;28968:6;29021:2;29009:9;29000:7;28996:23;28992:32;28989:52;;;29037:1;29034;29027:12;28989:52;29060:28;29078:9;29060:28;:::i;29373:843::-;29790:6;29779:9;29772:25;29833:6;29828:2;29817:9;29813:18;29806:34;29888:6;29880;29876:19;29871:2;29860:9;29856:18;29849:47;29944:6;29936;29932:19;29927:2;29916:9;29912:18;29905:47;-1:-1:-1;;;;;29993:6:136;29989:31;29983:3;29972:9;29968:19;29961:60;-1:-1:-1;;;;;30062:6:136;30058:31;30052:3;30041:9;30037:19;30030:60;30127:3;30121;30110:9;30106:19;30099:32;29753:4;30148:62;30205:3;30194:9;30190:19;30182:6;30174;30148:62;:::i;:::-;30140:70;29373:843;-1:-1:-1;;;;;;;;;;29373:843:136:o;30221:186::-;30280:6;30333:2;30321:9;30312:7;30308:23;30304:32;30301:52;;;30349:1;30346;30339:12;30301:52;30372:29;30391:9;30372:29;:::i;30412:401::-;30674:34;30669:3;30662:47;-1:-1:-1;;;30734:2:136;30729:3;30725:12;30718:34;30644:3;30768:39;30803:2;30798:3;30794:12;30786:6;30768:39;:::i;30818:127::-;30879:10;30874:3;30870:20;30867:1;30860:31;30910:4;30907:1;30900:15;30934:4;30931:1;30924:15;30950:178;30989:1;31023:10;31020:1;31016:18;31053:3;31043:37;;31060:18;;:::i;:::-;31118:3;31105:10;31102:1;31098:18;31094:28;31089:33;;;30950:178;;;;:::o;31133:570::-;31251:4;31257:6;31317:11;31304:25;31411:2;31407:7;31396:8;31380:14;31376:29;31372:43;31352:18;31348:68;31338:96;;31430:1;31427;31420:12;31338:96;31457:33;;31509:20;;;-1:-1:-1;;;;;;31541:30:136;;31538:50;;;31584:1;31581;31574:12;31538:50;31617:4;31605:17;;-1:-1:-1;31668:1:136;31664:14;;;31648;31644:35;31634:46;;31631:66;;;31693:1;31690;31683:12;31708:406;31970:34;31965:3;31958:47;-1:-1:-1;;;32030:2:136;32025:3;32021:12;32014:39;31940:3;32069:39;32104:2;32099:3;32095:12;32087:6;32069:39;:::i;32119:339::-;32209:6;32262:2;32250:9;32241:7;32237:23;32233:32;32230:52;;;32278:1;32275;32268:12;32230:52;32304:23;;-1:-1:-1;;;;;;32356:53:136;;32346:64;;32336:92;;32424:1;32421;32414:12;32463:194;32502:1;-1:-1:-1;;;;;32533:1:136;32529:26;32574:3;32564:37;;32581:18;;:::i;:::-;32647:3;-1:-1:-1;;;;;32623:1:136;32619:26;32615:36;32610:41;;;32463:194;;;;:::o;32662:820::-;33075:36;33071:41;33063:6;33059:54;33048:9;33041:73;33150:3;33145:2;33134:9;33130:18;33123:31;33022:4;33177:62;33234:3;33223:9;33219:19;33211:6;33203;33177:62;:::i;:::-;33275:6;33270:2;33259:9;33255:18;33248:34;-1:-1:-1;;;;;33322:6:136;33318:31;33313:2;33302:9;33298:18;33291:59;33399:9;33391:6;33387:22;33381:3;33370:9;33366:19;33359:51;33427:49;33469:6;33461;33453;33427:49;:::i;33487:194::-;-1:-1:-1;;;;;33585:26:136;;;33557;;;33553:59;;33624:28;;33621:54;;;33655:18;;:::i;33686:268::-;-1:-1:-1;;;;;33770:26:136;;;33798;;;33766:59;33845:36;;;;33900:24;;;33890:58;;33928:18;;:::i;34150:214::-;34248:1;34237:16;;;34219;;;;34215:39;-1:-1:-1;;34269:34:136;;34315:18;34305:29;;34266:69;34263:95;;;34338:18;;:::i;34639:186::-;34698:6;34751:2;34739:9;34730:7;34726:23;34722:32;34719:52;;;34767:1;34764;34757:12;34719:52;34790:29;34809:9;34790:29;:::i;34830:746::-;35191:10;35179:23;;;35161:42;;35239:23;;35234:2;35219:18;;35212:51;-1:-1:-1;;35299:36:136;;35294:2;35279:18;;35272:64;-1:-1:-1;;;;;;35372:52:136;;;35367:2;35352:18;;35345:80;35462:52;;35456:3;35441:19;;;35434:81;;;;35148:3;35133:19;;;35558:6;35552:3;35537:19;;35524:46;34830:746;;;;;;;;;:::o;35581:967::-;35937:10;35925:23;;;35907:42;;35985:23;;35980:2;35965:18;;35958:51;-1:-1:-1;;36045:36:136;;36040:2;36025:18;;36018:64;-1:-1:-1;;;;;;36118:52:136;;;36113:2;36098:18;;36091:80;36208:52;;36202:3;36187:19;;36180:81;35894:3;35879:19;;36296:3;36281:19;;36342:6;35852:4;36376:166;36390:4;36387:1;36384:11;36376:166;;;36449:13;;36437:26;;36492:2;36483:12;;;;36530:1;36518:14;;;;36403:9;36376:166;;;36380:3;;;35581:967;;;;;;;;;:::o;36553:112::-;36585:1;36611;36601:35;;36616:18;;:::i;:::-;-1:-1:-1;36650:9:136;;36553:112::o;36670:120::-;36710:1;36736;36726:35;;36741:18;;:::i;:::-;-1:-1:-1;36775:9:136;;36670:120::o;36795:148::-;36883:4;36862:12;;;36876;;;36858:31;;36901:13;;36898:39;;;36917:18;;:::i;36948:135::-;36987:3;37008:17;;;37005:43;;37028:18;;:::i;:::-;-1:-1:-1;37075:1:136;37064:13;;36948:135::o",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"./WitOracleDataLib.sol\";\r\nimport \"../interfaces/IWitOracleTrustless.sol\";\r\nimport \"../libs/Witnet.sol\";\r\nimport \"../patterns/Escrowable.sol\";\r\n\r\n\r\n/// @title Trustless Witnet Request Board data library extension\r\n/// @author The Witnet Foundation.\r\nlibrary WitOracleTrustlessDataLib {  \r\n\r\n    using Witnet for Witnet.Beacon;\r\n    using Witnet for Witnet.BlockNumber;\r\n    using Witnet for Witnet.DataPullReport;\r\n    using Witnet for Witnet.DataPushReport;\r\n    using Witnet for Witnet.QuerySLA;\r\n    using Witnet for Witnet.Timestamp;\r\n\r\n    bytes32 internal constant _WIT_ORACLE_BLOCKS_SLOTHASH =\r\n        /* keccak256(\"io.witnet.boards.blocks\") & ~bytes32(uint256(0xff) */\r\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e100;\r\n\r\n    struct Storage {\r\n        uint256 lastKnownBeaconIndex;\r\n        mapping (uint256 => Witnet.Beacon) beacons;\r\n        mapping (address => Escrowable.Escrow) escrows;\r\n    }\r\n    \r\n    // ================================================================================================================\r\n    // --- Internal functions -----------------------------------------------------------------------------------------\r\n\r\n    /// Returns storage pointer to contents of 'WitnetBoardState' struct.\r\n    function data() internal pure returns (Storage storage _ptr)\r\n    {\r\n        assembly {\r\n            _ptr.slot := _WIT_ORACLE_BLOCKS_SLOTHASH\r\n        }\r\n    }\r\n\r\n\r\n    /// =======================================================================\r\n    /// --- Escrowable --------------------------------------------------------\r\n\r\n    function burn(address from, uint256 value) public {\r\n        require(\r\n            data().escrows[from].balance >= value,\r\n            \"Escrowable: insufficient balance\"\r\n        );\r\n        data().escrows[from].balance -= value;\r\n        emit Escrowable.Burnt(from, value);\r\n    }\r\n    \r\n    function deposit(address to, uint256 value) public {\r\n        data().escrows[to].balance += value;\r\n        emit Payable.Received(to, value);\r\n    }\r\n\r\n    function stake(address from, uint256 value) public {\r\n        Escrowable.Escrow storage __escrow = data().escrows[from];\r\n        require(\r\n            __escrow.balance >= value,\r\n            \"Escrowable: insufficient balance\"\r\n        );\r\n        __escrow.balance -= value;\r\n        __escrow.collateral += value;\r\n        emit Escrowable.Staked(from, value);\r\n    }\r\n\r\n    function slash(address from, address to, uint256 value) public {\r\n        Escrowable.Escrow storage __escrowFrom = data().escrows[from];\r\n        Escrowable.Escrow storage __escrowTo = data().escrows[to];\r\n        require(\r\n            __escrowFrom.collateral >= value,\r\n            \"Escrowable: insufficient collateral\"\r\n        );\r\n        __escrowTo.balance += value;\r\n        __escrowFrom.collateral -= value;\r\n        emit Escrowable.Slashed(from, value);\r\n        emit Payable.Received(to, value);\r\n    }\r\n\r\n    function unstake(address from, uint256 value) public {\r\n        Escrowable.Escrow storage __escrow = data().escrows[from];\r\n        require(\r\n            __escrow.collateral >= value,\r\n            \"Escrowable: insufficient collateral\"\r\n        );\r\n        __escrow.collateral -= value;\r\n        __escrow.balance += value;\r\n        emit Escrowable.Unstaked(from, value);\r\n    }\r\n\r\n    function withdraw(address from) public returns (uint256 _withdrawn) {\r\n        Escrowable.Escrow storage __escrow = data().escrows[from];\r\n        _withdrawn = __escrow.balance;\r\n        __escrow.balance = 0;\r\n        emit Escrowable.Withdrawn(from, _withdrawn);\r\n    }\r\n\r\n\r\n    /// =======================================================================\r\n    /// --- IWitOracleTrustless --------------------------------------------------\r\n\r\n    function getLastKnownBeacon() internal view returns (Witnet.Beacon storage) {\r\n        return data().beacons[data().lastKnownBeaconIndex];\r\n    }\r\n\r\n    function getLastKnownBeaconIndex() internal view returns (uint256) {\r\n        return data().lastKnownBeaconIndex;\r\n    }\r\n\r\n    function rollupBeacons(Witnet.FastForward[] calldata rollup) \r\n        public \r\n        returns (Witnet.Beacon memory head)\r\n    {\r\n        head = verifyBeacons(rollup);\r\n        data().beacons[head.index] = head;\r\n        data().lastKnownBeaconIndex = head.index;\r\n        emit IWitOracleTrustless.Rollup(head);\r\n    }\r\n\r\n    function verifyBeacons(Witnet.FastForward[] calldata rollup)\r\n        public view\r\n        returns (Witnet.Beacon memory head)\r\n    {\r\n        require(\r\n            data().beacons[rollup[0].beacon.index].equals(rollup[0].beacon),\r\n            \"fast-forwarding from unmatching beacon\"\r\n        );\r\n        return _verifyFastForwards(rollup);\r\n    }\r\n\r\n    function seekBeacon(uint256 _index) internal view returns (Witnet.Beacon storage) {\r\n        return data().beacons[_index];\r\n    }\r\n\r\n\r\n    /// =======================================================================\r\n    /// --- IWitOracle --------------------------------------------------------\r\n\r\n    function deleteQueryTrustlessly(\r\n            uint256 queryId,\r\n            uint256 evmQueryAwaitingBlocks,\r\n            uint256 evmQueryReportingStake\r\n        )\r\n        public returns (Witnet.QueryEvmReward _evmPayback)\r\n    {\r\n        WitOracleDataLib.Query storage self = WitOracleDataLib.seekQuery(queryId);\r\n        require(\r\n            msg.sender == self.request.requester,\r\n            \"not the requester\"\r\n        );\r\n        _evmPayback = self.reward;\r\n        Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(self, evmQueryAwaitingBlocks);\r\n        // TODO: properly handle QueryStatus.Disputed .....\r\n        // TODO: should pending reward be transferred to requester ??\r\n        if (_queryStatus == Witnet.QueryStatus.Expired) {\r\n            if (Witnet.QueryEvmReward.unwrap(_evmPayback) > 0) {\r\n                if (self.response.disputer != address(0)) {\r\n                    // transfer reporter's stake to the disputer\r\n                    slash(\r\n                        self.response.reporter,\r\n                        self.response.disputer,\r\n                        evmQueryReportingStake\r\n                    );\r\n                    // transfer back disputer's stake\r\n                    unstake(\r\n                        self.response.disputer,\r\n                        evmQueryReportingStake\r\n                    );\r\n                }\r\n            }\r\n        \r\n        } else if (_queryStatus != Witnet.QueryStatus.Finalized) {\r\n            revert(string(abi.encodePacked(\r\n                \"invalid query status: \",\r\n                WitOracleDataLib.intoString(_queryStatus)\r\n            )));\r\n        }\r\n\r\n        // completely delete query metadata from storage:\r\n        delete WitOracleDataLib.data().queries[queryId];\r\n    }\r\n\r\n    function getQueryResponseStatusTrustlessly(\r\n            WitOracleDataLib.Query storage self,\r\n            uint256 evmQueryAwaitingBlocks\r\n        )\r\n        public view returns (IWitOracleLegacy.QueryResponseStatus)\r\n    {\r\n        Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(\r\n            self,\r\n            evmQueryAwaitingBlocks\r\n        );\r\n        if (_queryStatus == Witnet.QueryStatus.Finalized) {\r\n            bytes storage __cborValues = self.response.resultCborBytes;\r\n            if (__cborValues.length > 0) {\r\n                // determine whether stored result is an error by peeking the first byte\r\n                return (__cborValues[0] == bytes1(0xd8)\r\n                    ? IWitOracleLegacy.QueryResponseStatus.Error \r\n                    : IWitOracleLegacy.QueryResponseStatus.Ready\r\n                );\r\n            \r\n            } else {\r\n                // the result is final but delivered to the requesting address\r\n                return IWitOracleLegacy.QueryResponseStatus.Delivered;\r\n            }\r\n        } else if (_queryStatus == Witnet.QueryStatus.Reported) {\r\n            return IWitOracleLegacy.QueryResponseStatus.Finalizing;\r\n        \r\n        } else if (\r\n            _queryStatus == Witnet.QueryStatus.Posted\r\n                || _queryStatus == Witnet.QueryStatus.Delayed\r\n        ) {\r\n            return IWitOracleLegacy.QueryResponseStatus.Awaiting;\r\n        \r\n        } else if (\r\n            _queryStatus == Witnet.QueryStatus.Expired\r\n                || _queryStatus == Witnet.QueryStatus.Disputed\r\n        ) {\r\n            return IWitOracleLegacy.QueryResponseStatus.Expired;\r\n        \r\n        } else {\r\n            return IWitOracleLegacy.QueryResponseStatus.Void;\r\n        }\r\n    }\r\n\r\n    function getQueryResultTrustlessly(\r\n            WitOracleDataLib.Query storage self,\r\n            uint256 evmQueryAwaitingBlocks\r\n        ) \r\n        public view \r\n        returns (Witnet.DataResult memory _result)\r\n    {\r\n        Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(\r\n            self,\r\n            evmQueryAwaitingBlocks\r\n        );\r\n        return _getQueryResult(self, _queryStatus);\r\n    }\r\n\r\n    function getQueryStatusTrustlessly(\r\n            WitOracleDataLib.Query storage self,\r\n            uint256 evmQueryAwaitingBlocks\r\n        )\r\n        public view returns (Witnet.QueryStatus)\r\n    {\r\n        if (self.response.resultTimestamp != 0) {\r\n            if (block.number >= Witnet.BlockNumber.unwrap(self.checkpoint)) {\r\n                if (self.response.disputer != address(0)) {\r\n                    return Witnet.QueryStatus.Disputed;\r\n\r\n                } else {\r\n                    return Witnet.QueryStatus.Finalized;\r\n                }\r\n            } else {\r\n                return Witnet.QueryStatus.Reported;\r\n            }\r\n        } else {\r\n            uint256 _checkpoint = Witnet.BlockNumber.unwrap(self.checkpoint);\r\n            if (_checkpoint == 0) {\r\n                return Witnet.QueryStatus.Unknown;\r\n            \r\n            } else if (block.number > _checkpoint + evmQueryAwaitingBlocks * 2) {\r\n                return Witnet.QueryStatus.Expired;\r\n\r\n            } else if (block.number > _checkpoint + evmQueryAwaitingBlocks) {\r\n                return Witnet.QueryStatus.Delayed;\r\n            \r\n            } else {\r\n                return Witnet.QueryStatus.Posted;\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n    /// =======================================================================\r\n    /// --- IWitOracleQueriableTrustlessReporter ---------------------------------------\r\n\r\n    function claimQueryReward(\r\n            uint256 queryId,\r\n            uint256 evmQueryAwaitingBlocks,\r\n            uint256 evmQueryReportingStake\r\n        ) \r\n        public returns (uint256 _evmReward)\r\n    {    \r\n        WitOracleDataLib.Query storage self = WitOracleDataLib.seekQuery(queryId);\r\n        \r\n        _evmReward = Witnet.QueryEvmReward.unwrap(self.reward);\r\n        self.reward = Witnet.QueryEvmReward.wrap(0);\r\n\r\n        // revert if already claimed:\r\n        require(\r\n            _evmReward > 0,\r\n            \"already claimed\"\r\n        );\r\n\r\n        // deposit query's reward into the caller's balance (if proven to be legitimate):\r\n        deposit(\r\n            msg.sender,\r\n            _evmReward\r\n        );\r\n\r\n        Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(\r\n            self,\r\n            evmQueryAwaitingBlocks\r\n        );\r\n        if (_queryStatus == Witnet.QueryStatus.Finalized) {\r\n            // only the reporter can claim, \r\n            require(\r\n                msg.sender == self.request.requester,\r\n                \"not the requester\"\r\n            );\r\n            // recovering also the report stake\r\n            unstake(\r\n                msg.sender, \r\n                evmQueryReportingStake\r\n            );\r\n\r\n        // TODO: properly handle QueryStatus.Disputed .... \r\n        } else if (_queryStatus == Witnet.QueryStatus.Expired) {\r\n            if (self.response.disputer != address(0)) {\r\n                // only the disputer can claim,\r\n                require(\r\n                    msg.sender == self.response.disputer,\r\n                    \"not the disputer\"\r\n                );\r\n                // receiving the reporter's stake,\r\n                slash(\r\n                    self.response.reporter,\r\n                    msg.sender, \r\n                    evmQueryReportingStake\r\n                );\r\n                // and recovering the dispute stake,\r\n                unstake(\r\n                    msg.sender,\r\n                    evmQueryReportingStake\r\n                );\r\n                // TODO: should reward be transferred back to requester ??\r\n                _evmReward += evmQueryReportingStake;\r\n\r\n            } else {\r\n                // only the requester can claim,\r\n                require(\r\n                    msg.sender == self.request.requester,\r\n                    \"not the requester\"\r\n                );\r\n\r\n            }\r\n        } else {\r\n            revert(string(abi.encodePacked(\r\n                \"invalid query status: \",\r\n                WitOracleDataLib.intoString(_queryStatus)\r\n            )));\r\n        }\r\n    }\r\n\r\n    function disputeQueryResponse(\r\n            uint256 queryId,\r\n            uint256 evmQueryAwaitingBlocks,\r\n            uint256 evmQueryReportingStake\r\n        )\r\n        public returns (uint256 evmPotentialReward) \r\n    {\r\n        WitOracleDataLib.Query storage self = WitOracleDataLib.seekQuery(queryId);\r\n        require(\r\n            getQueryStatusTrustlessly(\r\n                self,\r\n                evmQueryAwaitingBlocks\r\n            ) == Witnet.QueryStatus.Reported, \"not in Reported status\"\r\n        );\r\n        stake(\r\n            msg.sender, \r\n            evmQueryReportingStake\r\n        );\r\n        self.checkpoint = Witnet.BlockNumber.wrap(uint64(block.number + evmQueryAwaitingBlocks));\r\n        self.response.disputer = msg.sender;\r\n        emit IWitOracleQueriableEvents.WitOracleQueryReportDispute(\r\n            Witnet.QueryId.wrap(uint64(queryId)),\r\n            msg.sender\r\n        );\r\n        return (\r\n            Witnet.QueryEvmReward.unwrap(self.reward)\r\n                + evmQueryReportingStake\r\n        );\r\n    }\r\n\r\n    function reportQueryResponseTrustlessly(\r\n            Witnet.DataPullReport calldata responseReport,\r\n            uint256 evmQueryAwaitingBlocks,\r\n            uint256 evmQueryReportingStake\r\n        )\r\n        public returns (\r\n            address _evmReporter,\r\n            uint256 _evmGasPrice,\r\n            uint64  _evmFinalityBlock,\r\n            Witnet.QueryId _queryId,\r\n            Witnet.Timestamp _witDrTxTimestamp,\r\n            Witnet.TransactionHash _witDrTxHash,\r\n            bytes memory _witResultCborBytes\r\n        )\r\n    {\r\n        WitOracleDataLib.Query storage self = WitOracleDataLib.seekQuery(Witnet.QueryId.unwrap(responseReport.queryId));\r\n        (bool _isValidReport, string memory _queryResponseReportInvalidError) = _isValidDataPullReport(\r\n            self,\r\n            responseReport\r\n        );\r\n        require(\r\n            _isValidReport,\r\n            _queryResponseReportInvalidError\r\n        );\r\n        \r\n        Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(self, evmQueryAwaitingBlocks);\r\n        if (_queryStatus == Witnet.QueryStatus.Posted) {\r\n            _evmReporter = responseReport.queryRelayer();\r\n            require(\r\n                _evmReporter == msg.sender,\r\n                \"unauthorized query reporter\"\r\n            );\r\n        }\r\n\r\n        else if (_queryStatus == Witnet.QueryStatus.Delayed) {\r\n            _evmReporter = msg.sender;\r\n        \r\n        } else {\r\n            revert(string(abi.encodePacked(\r\n                \"invalid query status: \",\r\n                WitOracleDataLib.intoString(_queryStatus)\r\n            )));\r\n        }\r\n\r\n        // stake from caller's balance:\r\n        stake(msg.sender, evmQueryReportingStake);\r\n\r\n        // save query response into storage:\r\n        _evmGasPrice = tx.gasprice;\r\n        _evmFinalityBlock = uint64(block.number + evmQueryAwaitingBlocks);\r\n        _queryId = responseReport.queryId;\r\n        _witDrTxTimestamp = Witnet.determineTimestampFromEpoch(responseReport.witDrResultEpoch);\r\n        _witDrTxHash = responseReport.witDrTxHash;\r\n        _witResultCborBytes = responseReport.witDrResultCborBytes;\r\n    }\r\n\r\n    function rollupQueryResponseProof(\r\n            Witnet.FastForward[] calldata witOracleRollup,\r\n            Witnet.DataPullReport calldata responseReport,\r\n            bytes32[] calldata ddrTalliesMerkleTrie,\r\n            uint256 evmQueryAwaitingBlocks,\r\n            uint256 evmQueryReportingStake\r\n        )\r\n        public returns (uint256 evmTotalReward)\r\n    {\r\n        WitOracleDataLib.Query storage self = WitOracleDataLib.seekQuery(Witnet.QueryId.unwrap(responseReport.queryId));\r\n        // validate query response report\r\n        (bool _isValidReport, string memory _queryResponseReportInvalidError) = _isValidDataPullReport(\r\n            self,\r\n            responseReport\r\n        );\r\n        require(_isValidReport, _queryResponseReportInvalidError);\r\n\r\n        // validate rollup proofs\r\n        Witnet.Beacon memory _witOracleHead = rollupBeacons(witOracleRollup);\r\n        require(\r\n            _witOracleHead.index == Witnet.determineBeaconIndexFromEpoch(\r\n                responseReport.witDrResultEpoch\r\n            ) + 1, \"misleading head beacon\"\r\n        );\r\n\r\n        // validate merkle proof\r\n        require(\r\n            _witOracleHead.ddrTalliesMerkleRoot == Witnet.merkleRoot(\r\n                ddrTalliesMerkleTrie, \r\n                responseReport.tallyHash()\r\n            ), \"invalid merkle proof\"\r\n        );\r\n\r\n        // process query response report depending on query's current status ...\r\n        {    \r\n            Witnet.QueryStatus _queryStatus = getQueryStatusTrustlessly(\r\n                self,\r\n                evmQueryAwaitingBlocks\r\n            );\r\n            if (_queryStatus == Witnet.QueryStatus.Reported) {                \r\n                // check that proven report actually differs from what was formerly reported\r\n                require(\r\n                    keccak256(abi.encode(\r\n                        responseReport.witDrTxHash, \r\n                        responseReport.witDrResultEpoch,\r\n                        responseReport.witDrResultCborBytes\r\n                    )) != keccak256(abi.encode(\r\n                        self.response.resultDrTxHash,\r\n                        Witnet.determineEpochFromTimestamp(Witnet.Timestamp.wrap(self.response.resultTimestamp)),\r\n                        self.response.resultCborBytes\r\n                    )),\r\n                    \"proving no fake report\"\r\n                );\r\n\r\n                // transfer fake reporter's stake into caller's balance:\r\n                slash(\r\n                    self.response.reporter,\r\n                    msg.sender,\r\n                    evmQueryReportingStake\r\n                );\r\n\r\n                // transfer query's reward into caller's balance\r\n                deposit(msg.sender, Witnet.QueryEvmReward.unwrap(self.reward));\r\n\r\n                // update query's response data into storage:\r\n                self.response.reporter = msg.sender;\r\n                self.response.resultCborBytes = responseReport.witDrResultCborBytes;\r\n                self.response.resultDrTxHash = Witnet.TransactionHash.unwrap(responseReport.witDrTxHash);\r\n                self.response.resultTimestamp = Witnet.Timestamp.unwrap(Witnet.determineTimestampFromEpoch(responseReport.witDrResultEpoch));\r\n        \r\n            } else if (_queryStatus == Witnet.QueryStatus.Disputed) {\r\n                // check that proven report actually matches what was formerly reported\r\n                require(\r\n                    keccak256(abi.encode(\r\n                        responseReport.witDrTxHash, \r\n                        responseReport.witDrResultEpoch,\r\n                        responseReport.witDrResultCborBytes\r\n                    )) == keccak256(abi.encode(\r\n                        self.response.resultDrTxHash,\r\n                        Witnet.determineEpochFromTimestamp(Witnet.Timestamp.wrap(self.response.resultTimestamp)),\r\n                        self.response.resultCborBytes\r\n                    )),\r\n                    \"proving disputed fake report\"\r\n                );\r\n\r\n                // transfer fake disputer's stake into reporter's balance:\r\n                slash(\r\n                    self.response.disputer,\r\n                    self.response.reporter,\r\n                    evmQueryReportingStake\r\n                );\r\n\r\n                // transfer query's reward into reporter's balance:\r\n                deposit(self.response.reporter, Witnet.QueryEvmReward.unwrap(self.reward));\r\n                \r\n                // clear query's disputer\r\n                self.response.disputer = address(0);\r\n\r\n            } else {\r\n                revert(string(abi.encodePacked(\r\n                    \"invalid query status: \",\r\n                    WitOracleDataLib.intoString(_queryStatus)\r\n                )));\r\n            }\r\n            \r\n            // finalize query:\r\n            evmTotalReward = Witnet.QueryEvmReward.unwrap(self.reward) + evmQueryReportingStake;\r\n            self.reward = Witnet.QueryEvmReward.wrap(0); // no claimQueryReward(.) will be required (nor accepted whatsoever)\r\n            self.checkpoint = Witnet.BlockNumber.wrap(uint64(block.number)); // set query status to Finalized\r\n        }\r\n    }\r\n\r\n    function parseDataPushReport(\r\n            Witnet.DataPushReport calldata report,\r\n            Witnet.FastForward[] calldata rollup,\r\n            bytes32[] calldata droMerkleTrie\r\n        )\r\n        public view returns (Witnet.DataResult memory)\r\n    {\r\n        // validate query report\r\n        require(\r\n            Witnet.RadonHash.unwrap(report.queryRadHash) != bytes32(0)\r\n                && report.resultCborBytes.length > 0\r\n                && !report.resultTimestamp.isZero()\r\n                && Witnet.TransactionHash.unwrap(report.witDrTxHash) != bytes32(0)\r\n                && report.queryParams.isValid()\r\n            , \"invalid query report\"\r\n        );\r\n\r\n        // validate rollup proofs\r\n        Witnet.Beacon memory _witOracleHead = verifyBeacons(rollup);\r\n        require(\r\n            _witOracleHead.index >= Witnet.determineBeaconIndexFromTimestamp(report.resultTimestamp) + 1, \r\n            \"misleading head beacon\"\r\n        );\r\n\r\n        // validate merkle proof\r\n        require(\r\n            _witOracleHead.droTalliesMerkleRoot == Witnet.merkleRoot(\r\n                droMerkleTrie, \r\n                report.digest()\r\n            ), \"invalid merkle proof\"\r\n        );\r\n\r\n        return WitOracleDataLib.intoDataResult(\r\n            WitOracleDataLib.QueryResponse({\r\n                reporter: address(0), disputer: address(0), _0: 0,\r\n                resultCborBytes: report.resultCborBytes,\r\n                resultDrTxHash: Witnet.TransactionHash.unwrap(report.witDrTxHash),\r\n                resultTimestamp: Witnet.Timestamp.unwrap(report.resultTimestamp)\r\n            }),\r\n            Witnet.QueryStatus.Finalized,\r\n            uint64(block.number)\r\n        );\r\n    }\r\n\r\n    function rollupDataPushReport(\r\n            Witnet.DataPushReport calldata report,\r\n            Witnet.FastForward[] calldata rollup,\r\n            bytes32[] calldata droMerkleTrie\r\n        )\r\n        public returns (Witnet.DataResult memory)\r\n    {\r\n        // validate query report\r\n        require(\r\n            Witnet.RadonHash.unwrap(report.queryRadHash) != bytes32(0)\r\n                && report.resultCborBytes.length > 0\r\n                && !report.resultTimestamp.isZero()\r\n                && Witnet.TransactionHash.unwrap(report.witDrTxHash) != bytes32(0)\r\n                && report.queryParams.isValid()\r\n            , \"invalid query report\"\r\n        );\r\n\r\n        // validate rollup proofs\r\n        Witnet.Beacon memory _witOracleHead = rollupBeacons(rollup);\r\n        require(\r\n            _witOracleHead.index >= Witnet.determineBeaconIndexFromTimestamp(report.resultTimestamp) + 1, \r\n            \"misleading head beacon\"\r\n        );\r\n\r\n        // validate merkle proof\r\n        require(\r\n            _witOracleHead.droTalliesMerkleRoot == Witnet.merkleRoot(\r\n                droMerkleTrie, \r\n                report.digest()\r\n            ), \"invalid merkle proof\"\r\n        );\r\n\r\n        return WitOracleDataLib.intoDataResult(\r\n            WitOracleDataLib.QueryResponse({\r\n                reporter: address(0), disputer: address(0), _0: 0,\r\n                resultCborBytes: report.resultCborBytes,\r\n                resultDrTxHash: Witnet.TransactionHash.unwrap(report.witDrTxHash),\r\n                resultTimestamp: Witnet.Timestamp.unwrap(report.resultTimestamp)\r\n            }),\r\n            Witnet.QueryStatus.Finalized,\r\n            uint64(block.number)\r\n        );\r\n    }\r\n\r\n    \r\n    /// =======================================================================\r\n    /// --- Private library methods -------------------------------------------\r\n\r\n    function _getQueryResult(WitOracleDataLib.Query storage self, Witnet.QueryStatus queryStatus)\r\n        private view\r\n        returns (Witnet.DataResult memory)\r\n    {\r\n        return WitOracleDataLib.intoDataResult(\r\n            self.response, \r\n            queryStatus,\r\n            Witnet.BlockNumber.unwrap(self.checkpoint)\r\n        );\r\n    }\r\n\r\n    function _isValidDataPullReport(\r\n            WitOracleDataLib.Query storage self,\r\n            Witnet.DataPullReport calldata report\r\n        )\r\n        private view\r\n        returns (bool, string memory)\r\n    {\r\n        if (\r\n            Witnet.QueryUUID.unwrap(report.queryHash)\r\n                != Witnet.QueryUUID.unwrap(self.uuid)\r\n        ) {\r\n            return (false, \"invalid query hash\");\r\n        \r\n        } else if (report.witDrResultEpoch.isZero()) {\r\n            return (false, \"invalid result epoch\");\r\n        \r\n        } else if (report.witDrResultCborBytes.length == 0) {\r\n            return (false, \"invalid empty result\");\r\n        \r\n        } else {\r\n            return (true, new string(0));\r\n        \r\n        }\r\n    }\r\n\r\n    function _verifyFastForwards(Witnet.FastForward[] calldata ff)\r\n        private pure \r\n        returns (Witnet.Beacon calldata)\r\n    {\r\n        for (uint _ix = 1; _ix < ff.length; _ix ++) {\r\n            require(\r\n                ff[_ix].beacon.prevIndex == ff[_ix - 1].beacon.index\r\n                    && ff[_ix].beacon.prevRoot == ff[_ix - 1].beacon.root(),\r\n                string(abi.encodePacked(\r\n                    \"mismatching beacons on fast-forward step #\",\r\n                    Witnet.toString(_ix)\r\n                ))\r\n            );\r\n            require(\r\n                ff[_ix].committeeMissingPubkeys.length <= (\r\n                    Witnet.WIT_2_FAST_FORWARD_COMMITTEE_SIZE / 3\r\n                ), string(abi.encodePacked(\r\n                    \"too many missing pubkeys on fast-forward step #\",\r\n                    Witnet.toString(_ix)\r\n                ))\r\n            );\r\n            // TODO:\r\n            // uint256[4] memory _committeePubkey = ff[_ix - 1].beacon.nextCommitteePubkey;\r\n            // for (uint _mx = 0; _mx < ff[_ix].committeeMissingPubKeys.length; _mx ++) {\r\n            //     require(\r\n            //         0 < (\r\n            //             ff[_ix].committeeMissingPubkey[_mx][0]\r\n            //                 + ff[_ix].committeeMissingPubkey[_mx][1]\r\n            //                 + ff[_ix].committeeMissingPubkey[_mx][2]\r\n            //                 + ff[_ix].committeeMissingPubkey[_mx][3]\r\n\r\n            //         ), string(abi.encodePacked(\r\n            //             \"null missing pubkey on fast-forward step #\",\r\n            //             Witnet.toString(_ix),\r\n            //             \" index #\",\r\n            //             Witnet.toString(_mx)\r\n            //         ))\r\n            //     );\r\n            //     _committeePubkey -= ff[_ix].committeeMissingPubkey[_mx];\r\n            // }\r\n            // require(\r\n            //     _verifySignature(\r\n            //         ff[_ix].beacon.committeeSignature,\r\n            //         _committeePubkey,\r\n            //         ff[_ix].beacon.root()\r\n\r\n            //     ), string(abi.encodedPacked(\r\n            //         \"invalid signature on fast-forward step #\",\r\n            //         Witnet.toString(_ix)\r\n            //     ))\r\n            // );\r\n        }\r\n        return ff[ff.length - 1].beacon;\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\data\\WitOracleTrustlessDataLib.sol",
  "ast": {
    "absolutePath": "project:/contracts/data/WitOracleTrustlessDataLib.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "Escrowable": [
        45618
      ],
      "IERC20": [
        493
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleQueriable": [
        26795
      ],
      "IWitOracleQueriableConsumer": [
        26815
      ],
      "IWitOracleQueriableEvents": [
        26892
      ],
      "IWitOracleQueriableExperimental": [
        26964
      ],
      "IWitOracleQueriableTrustableReporter": [
        27056
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitOracleTrustableAdmin": [
        27628
      ],
      "IWitOracleTrustless": [
        27689
      ],
      "Payable": [
        45766
      ],
      "Secp256k1": [
        32535
      ],
      "WitOracleDataLib": [
        20110
      ],
      "WitOracleTrustlessDataLib": [
        22249
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ]
    },
    "id": 22250,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 20255,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:60"
      },
      {
        "absolutePath": "project:/contracts/data/WitOracleDataLib.sol",
        "file": "./WitOracleDataLib.sol",
        "id": 20256,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22250,
        "sourceUnit": 20111,
        "src": "70:32:60",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleTrustless.sol",
        "file": "../interfaces/IWitOracleTrustless.sol",
        "id": 20257,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22250,
        "sourceUnit": 27690,
        "src": "104:47:60",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/libs/Witnet.sol",
        "file": "../libs/Witnet.sol",
        "id": 20258,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22250,
        "sourceUnit": 40742,
        "src": "153:28:60",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Escrowable.sol",
        "file": "../patterns/Escrowable.sol",
        "id": 20259,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22250,
        "sourceUnit": 45619,
        "src": "183:36:60",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "WitOracleTrustlessDataLib",
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": {
          "id": 20260,
          "nodeType": "StructuredDocumentation",
          "src": "225:102:60",
          "text": "@title Trustless Witnet Request Board data library extension\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 22249,
        "linearizedBaseContracts": [
          22249
        ],
        "name": "WitOracleTrustlessDataLib",
        "nameLocation": "335:25:60",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 20264,
            "libraryName": {
              "id": 20261,
              "name": "Witnet",
              "nameLocations": [
                "378:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "378:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "372:31:60",
            "typeName": {
              "id": 20263,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20262,
                "name": "Witnet.Beacon",
                "nameLocations": [
                  "389:6:60",
                  "396:6:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37242,
                "src": "389:13:60"
              },
              "referencedDeclaration": 37242,
              "src": "389:13:60",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                "typeString": "struct Witnet.Beacon"
              }
            }
          },
          {
            "global": false,
            "id": 20268,
            "libraryName": {
              "id": 20265,
              "name": "Witnet",
              "nameLocations": [
                "415:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "415:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "409:36:60",
            "typeName": {
              "id": 20267,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20266,
                "name": "Witnet.BlockNumber",
                "nameLocations": [
                  "426:6:60",
                  "433:11:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37145,
                "src": "426:18:60"
              },
              "referencedDeclaration": 37145,
              "src": "426:18:60",
              "typeDescriptions": {
                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                "typeString": "Witnet.BlockNumber"
              }
            }
          },
          {
            "global": false,
            "id": 20272,
            "libraryName": {
              "id": 20269,
              "name": "Witnet",
              "nameLocations": [
                "457:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "457:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "451:39:60",
            "typeName": {
              "id": 20271,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20270,
                "name": "Witnet.DataPullReport",
                "nameLocations": [
                  "468:6:60",
                  "475:14:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37259,
                "src": "468:21:60"
              },
              "referencedDeclaration": 37259,
              "src": "468:21:60",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DataPullReport_$37259_storage_ptr",
                "typeString": "struct Witnet.DataPullReport"
              }
            }
          },
          {
            "global": false,
            "id": 20276,
            "libraryName": {
              "id": 20273,
              "name": "Witnet",
              "nameLocations": [
                "502:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "502:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "496:39:60",
            "typeName": {
              "id": 20275,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20274,
                "name": "Witnet.DataPushReport",
                "nameLocations": [
                  "513:6:60",
                  "520:14:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37274,
                "src": "513:21:60"
              },
              "referencedDeclaration": 37274,
              "src": "513:21:60",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                "typeString": "struct Witnet.DataPushReport"
              }
            }
          },
          {
            "global": false,
            "id": 20280,
            "libraryName": {
              "id": 20277,
              "name": "Witnet",
              "nameLocations": [
                "547:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "547:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "541:33:60",
            "typeName": {
              "id": 20279,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20278,
                "name": "Witnet.QuerySLA",
                "nameLocations": [
                  "558:6:60",
                  "565:8:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37373,
                "src": "558:15:60"
              },
              "referencedDeclaration": 37373,
              "src": "558:15:60",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                "typeString": "struct Witnet.QuerySLA"
              }
            }
          },
          {
            "global": false,
            "id": 20284,
            "libraryName": {
              "id": 20281,
              "name": "Witnet",
              "nameLocations": [
                "586:6:60"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "586:6:60"
            },
            "nodeType": "UsingForDirective",
            "src": "580:34:60",
            "typeName": {
              "id": 20283,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20282,
                "name": "Witnet.Timestamp",
                "nameLocations": [
                  "597:6:60",
                  "604:9:60"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37157,
                "src": "597:16:60"
              },
              "referencedDeclaration": 37157,
              "src": "597:16:60",
              "typeDescriptions": {
                "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                "typeString": "Witnet.Timestamp"
              }
            }
          },
          {
            "constant": true,
            "id": 20287,
            "mutability": "constant",
            "name": "_WIT_ORACLE_BLOCKS_SLOTHASH",
            "nameLocation": "648:27:60",
            "nodeType": "VariableDeclaration",
            "scope": 22249,
            "src": "622:208:60",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 20285,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "622:7:60",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "hexValue": "307866353935323430623335316263386639353163326635336232366634653738633332636236323132326366373663313962376664646137643439363865313030",
              "id": 20286,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "764:66:60",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_111080156880573123782333136393096456259796301421348949269751801291758316871936_by_1",
                "typeString": "int_const 1110...(70 digits omitted)...1936"
              },
              "value": "0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e100"
            },
            "visibility": "internal"
          },
          {
            "canonicalName": "WitOracleTrustlessDataLib.Storage",
            "id": 20300,
            "members": [
              {
                "constant": false,
                "id": 20289,
                "mutability": "mutable",
                "name": "lastKnownBeaconIndex",
                "nameLocation": "873:20:60",
                "nodeType": "VariableDeclaration",
                "scope": 20300,
                "src": "865:28:60",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20288,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "865:7:60",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20294,
                "mutability": "mutable",
                "name": "beacons",
                "nameLocation": "939:7:60",
                "nodeType": "VariableDeclaration",
                "scope": 20300,
                "src": "904:42:60",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                  "typeString": "mapping(uint256 => struct Witnet.Beacon)"
                },
                "typeName": {
                  "id": 20293,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 20290,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "904:34:60",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                    "typeString": "mapping(uint256 => struct Witnet.Beacon)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 20292,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20291,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "924:6:60",
                        "931:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "924:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "924:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20299,
                "mutability": "mutable",
                "name": "escrows",
                "nameLocation": "996:7:60",
                "nodeType": "VariableDeclaration",
                "scope": 20300,
                "src": "957:46:60",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                  "typeString": "mapping(address => struct Escrowable.Escrow)"
                },
                "typeName": {
                  "id": 20298,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 20295,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "966:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "957:38:60",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                    "typeString": "mapping(address => struct Escrowable.Escrow)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 20297,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20296,
                      "name": "Escrowable.Escrow",
                      "nameLocations": [
                        "977:10:60",
                        "988:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 45558,
                      "src": "977:17:60"
                    },
                    "referencedDeclaration": 45558,
                    "src": "977:17:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                      "typeString": "struct Escrowable.Escrow"
                    }
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Storage",
            "nameLocation": "846:7:60",
            "nodeType": "StructDefinition",
            "scope": 22249,
            "src": "839:172:60",
            "visibility": "public"
          },
          {
            "body": {
              "id": 20308,
              "nodeType": "Block",
              "src": "1408:93:60",
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "1428:66:60",
                    "nodeType": "YulBlock",
                    "src": "1428:66:60",
                    "statements": [
                      {
                        "nativeSrc": "1443:40:60",
                        "nodeType": "YulAssignment",
                        "src": "1443:40:60",
                        "value": {
                          "name": "_WIT_ORACLE_BLOCKS_SLOTHASH",
                          "nativeSrc": "1456:27:60",
                          "nodeType": "YulIdentifier",
                          "src": "1456:27:60"
                        },
                        "variableNames": [
                          {
                            "name": "_ptr.slot",
                            "nativeSrc": "1443:9:60",
                            "nodeType": "YulIdentifier",
                            "src": "1443:9:60"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "prague",
                  "externalReferences": [
                    {
                      "declaration": 20287,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "1456:27:60",
                      "valueSize": 1
                    },
                    {
                      "declaration": 20305,
                      "isOffset": false,
                      "isSlot": true,
                      "src": "1443:9:60",
                      "suffix": "slot",
                      "valueSize": 1
                    }
                  ],
                  "id": 20307,
                  "nodeType": "InlineAssembly",
                  "src": "1419:75:60"
                }
              ]
            },
            "documentation": {
              "id": 20301,
              "nodeType": "StructuredDocumentation",
              "src": "1267:69:60",
              "text": "Returns storage pointer to contents of 'WitnetBoardState' struct."
            },
            "id": 20309,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "data",
            "nameLocation": "1351:4:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20302,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1355:2:60"
            },
            "returnParameters": {
              "id": 20306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20305,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "1397:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20309,
                  "src": "1381:20:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                    "typeString": "struct WitOracleTrustlessDataLib.Storage"
                  },
                  "typeName": {
                    "id": 20304,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20303,
                      "name": "Storage",
                      "nameLocations": [
                        "1381:7:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20300,
                      "src": "1381:7:60"
                    },
                    "referencedDeclaration": 20300,
                    "src": "1381:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                      "typeString": "struct WitOracleTrustlessDataLib.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1380:22:60"
            },
            "scope": 22249,
            "src": "1342:159:60",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 20345,
              "nodeType": "Block",
              "src": "1725:231:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20325,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 20318,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20309,
                                  "src": "1758:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 20319,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1758:6:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                                  "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                                }
                              },
                              "id": 20320,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "1765:7:60",
                              "memberName": "escrows",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 20299,
                              "src": "1758:14:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                                "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                              }
                            },
                            "id": 20322,
                            "indexExpression": {
                              "id": 20321,
                              "name": "from",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20312,
                              "src": "1773:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1758:20:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                              "typeString": "struct Escrowable.Escrow storage ref"
                            }
                          },
                          "id": 20323,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1779:7:60",
                          "memberName": "balance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 45555,
                          "src": "1758:28:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 20324,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20314,
                          "src": "1790:5:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "1758:37:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e742062616c616e6365",
                        "id": 20326,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1810:34:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33",
                          "typeString": "literal_string \"Escrowable: insufficient balance\""
                        },
                        "value": "Escrowable: insufficient balance"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33",
                          "typeString": "literal_string \"Escrowable: insufficient balance\""
                        }
                      ],
                      "id": 20317,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "1736:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20327,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1736:119:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20328,
                  "nodeType": "ExpressionStatement",
                  "src": "1736:119:60"
                },
                {
                  "expression": {
                    "id": 20336,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "baseExpression": {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 20329,
                              "name": "data",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20309,
                              "src": "1866:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                                "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                              }
                            },
                            "id": 20330,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1866:6:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                              "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                            }
                          },
                          "id": 20331,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1873:7:60",
                          "memberName": "escrows",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 20299,
                          "src": "1866:14:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                            "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                          }
                        },
                        "id": 20333,
                        "indexExpression": {
                          "id": 20332,
                          "name": "from",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20312,
                          "src": "1881:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1866:20:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                          "typeString": "struct Escrowable.Escrow storage ref"
                        }
                      },
                      "id": 20334,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "1887:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "1866:28:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "id": 20335,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20314,
                      "src": "1898:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1866:37:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20337,
                  "nodeType": "ExpressionStatement",
                  "src": "1866:37:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20341,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20312,
                        "src": "1936:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20342,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20314,
                        "src": "1942:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20338,
                        "name": "Escrowable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45618,
                        "src": "1919:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Escrowable_$45618_$",
                          "typeString": "type(contract Escrowable)"
                        }
                      },
                      "id": 20340,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1930:5:60",
                      "memberName": "Burnt",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45529,
                      "src": "1919:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20343,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1919:29:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20344,
                  "nodeType": "EmitStatement",
                  "src": "1914:34:60"
                }
              ]
            },
            "documentation": {
              "id": 20310,
              "nodeType": "StructuredDocumentation",
              "src": "1511:158:60",
              "text": "=======================================================================\n --- Escrowable --------------------------------------------------------"
            },
            "functionSelector": "9dc29fac",
            "id": 20346,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nameLocation": "1684:4:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20315,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20312,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "1697:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20346,
                  "src": "1689:12:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20311,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1689:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20314,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "1711:5:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20346,
                  "src": "1703:13:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20313,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1703:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1688:29:60"
            },
            "returnParameters": {
              "id": 20316,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1725:0:60"
            },
            "scope": 22249,
            "src": "1675:281:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20369,
              "nodeType": "Block",
              "src": "2019:97:60",
              "statements": [
                {
                  "expression": {
                    "id": 20360,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "baseExpression": {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 20353,
                              "name": "data",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20309,
                              "src": "2030:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                                "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                              }
                            },
                            "id": 20354,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2030:6:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                              "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                            }
                          },
                          "id": 20355,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2037:7:60",
                          "memberName": "escrows",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 20299,
                          "src": "2030:14:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                            "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                          }
                        },
                        "id": 20357,
                        "indexExpression": {
                          "id": 20356,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20348,
                          "src": "2045:2:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2030:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                          "typeString": "struct Escrowable.Escrow storage ref"
                        }
                      },
                      "id": 20358,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2049:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "2030:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 20359,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20350,
                      "src": "2060:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2030:35:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20361,
                  "nodeType": "ExpressionStatement",
                  "src": "2030:35:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20365,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20348,
                        "src": "2098:2:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20366,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20350,
                        "src": "2102:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20362,
                        "name": "Payable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45766,
                        "src": "2081:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Payable_$45766_$",
                          "typeString": "type(contract Payable)"
                        }
                      },
                      "id": 20364,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2089:8:60",
                      "memberName": "Received",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45721,
                      "src": "2081:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2081:27:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20368,
                  "nodeType": "EmitStatement",
                  "src": "2076:32:60"
                }
              ]
            },
            "functionSelector": "47e7ef24",
            "id": 20370,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deposit",
            "nameLocation": "1977:7:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20348,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "1993:2:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20370,
                  "src": "1985:10:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20347,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1985:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20350,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2005:5:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20370,
                  "src": "1997:13:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20349,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1997:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1984:27:60"
            },
            "returnParameters": {
              "id": 20352,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2019:0:60"
            },
            "scope": 22249,
            "src": "1968:148:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20415,
              "nodeType": "Block",
              "src": "2175:315:60",
              "statements": [
                {
                  "assignments": [
                    20381
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20381,
                      "mutability": "mutable",
                      "name": "__escrow",
                      "nameLocation": "2212:8:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20415,
                      "src": "2186:34:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                        "typeString": "struct Escrowable.Escrow"
                      },
                      "typeName": {
                        "id": 20380,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20379,
                          "name": "Escrowable.Escrow",
                          "nameLocations": [
                            "2186:10:60",
                            "2197:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 45558,
                          "src": "2186:17:60"
                        },
                        "referencedDeclaration": 45558,
                        "src": "2186:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20387,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20382,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "2223:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20383,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2223:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20384,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2230:7:60",
                      "memberName": "escrows",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20299,
                      "src": "2223:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                        "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                      }
                    },
                    "id": 20386,
                    "indexExpression": {
                      "id": 20385,
                      "name": "from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20372,
                      "src": "2238:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2223:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                      "typeString": "struct Escrowable.Escrow storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2186:57:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20392,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 20389,
                            "name": "__escrow",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20381,
                            "src": "2276:8:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                              "typeString": "struct Escrowable.Escrow storage pointer"
                            }
                          },
                          "id": 20390,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2285:7:60",
                          "memberName": "balance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 45555,
                          "src": "2276:16:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 20391,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20374,
                          "src": "2296:5:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2276:25:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e742062616c616e6365",
                        "id": 20393,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2316:34:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33",
                          "typeString": "literal_string \"Escrowable: insufficient balance\""
                        },
                        "value": "Escrowable: insufficient balance"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0af07491e28005adff5998cf8095f7010b5111da2c7f5778ddde74ec277eda33",
                          "typeString": "literal_string \"Escrowable: insufficient balance\""
                        }
                      ],
                      "id": 20388,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "2254:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20394,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2254:107:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20395,
                  "nodeType": "ExpressionStatement",
                  "src": "2254:107:60"
                },
                {
                  "expression": {
                    "id": 20400,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20396,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20381,
                        "src": "2372:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20398,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2381:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "2372:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "id": 20399,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20374,
                      "src": "2392:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2372:25:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20401,
                  "nodeType": "ExpressionStatement",
                  "src": "2372:25:60"
                },
                {
                  "expression": {
                    "id": 20406,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20402,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20381,
                        "src": "2408:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20404,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2417:10:60",
                      "memberName": "collateral",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45557,
                      "src": "2408:19:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 20405,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20374,
                      "src": "2431:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2408:28:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20407,
                  "nodeType": "ExpressionStatement",
                  "src": "2408:28:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20411,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20372,
                        "src": "2470:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20412,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20374,
                        "src": "2476:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20408,
                        "name": "Escrowable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45618,
                        "src": "2452:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Escrowable_$45618_$",
                          "typeString": "type(contract Escrowable)"
                        }
                      },
                      "id": 20410,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2463:6:60",
                      "memberName": "Staked",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45535,
                      "src": "2452:17:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20413,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2452:30:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20414,
                  "nodeType": "EmitStatement",
                  "src": "2447:35:60"
                }
              ]
            },
            "functionSelector": "adc9772e",
            "id": 20416,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "stake",
            "nameLocation": "2133:5:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20372,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "2147:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20416,
                  "src": "2139:12:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20371,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20374,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2161:5:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20416,
                  "src": "2153:13:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2153:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2138:29:60"
            },
            "returnParameters": {
              "id": 20376,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2175:0:60"
            },
            "scope": 22249,
            "src": "2124:366:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20481,
              "nodeType": "Block",
              "src": "2561:447:60",
              "statements": [
                {
                  "assignments": [
                    20429
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20429,
                      "mutability": "mutable",
                      "name": "__escrowFrom",
                      "nameLocation": "2598:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20481,
                      "src": "2572:38:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                        "typeString": "struct Escrowable.Escrow"
                      },
                      "typeName": {
                        "id": 20428,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20427,
                          "name": "Escrowable.Escrow",
                          "nameLocations": [
                            "2572:10:60",
                            "2583:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 45558,
                          "src": "2572:17:60"
                        },
                        "referencedDeclaration": 45558,
                        "src": "2572:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20435,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20430,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "2613:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20431,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2613:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20432,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2620:7:60",
                      "memberName": "escrows",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20299,
                      "src": "2613:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                        "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                      }
                    },
                    "id": 20434,
                    "indexExpression": {
                      "id": 20433,
                      "name": "from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20418,
                      "src": "2628:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2613:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                      "typeString": "struct Escrowable.Escrow storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2572:61:60"
                },
                {
                  "assignments": [
                    20440
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20440,
                      "mutability": "mutable",
                      "name": "__escrowTo",
                      "nameLocation": "2670:10:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20481,
                      "src": "2644:36:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                        "typeString": "struct Escrowable.Escrow"
                      },
                      "typeName": {
                        "id": 20439,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20438,
                          "name": "Escrowable.Escrow",
                          "nameLocations": [
                            "2644:10:60",
                            "2655:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 45558,
                          "src": "2644:17:60"
                        },
                        "referencedDeclaration": 45558,
                        "src": "2644:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20446,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20441,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "2683:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2683:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20443,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2690:7:60",
                      "memberName": "escrows",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20299,
                      "src": "2683:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                        "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                      }
                    },
                    "id": 20445,
                    "indexExpression": {
                      "id": 20444,
                      "name": "to",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20420,
                      "src": "2698:2:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2683:18:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                      "typeString": "struct Escrowable.Escrow storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2644:57:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20451,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 20448,
                            "name": "__escrowFrom",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20429,
                            "src": "2734:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                              "typeString": "struct Escrowable.Escrow storage pointer"
                            }
                          },
                          "id": 20449,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2747:10:60",
                          "memberName": "collateral",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 45557,
                          "src": "2734:23:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 20450,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20422,
                          "src": "2761:5:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2734:32:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e7420636f6c6c61746572616c",
                        "id": 20452,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2781:37:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb",
                          "typeString": "literal_string \"Escrowable: insufficient collateral\""
                        },
                        "value": "Escrowable: insufficient collateral"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb",
                          "typeString": "literal_string \"Escrowable: insufficient collateral\""
                        }
                      ],
                      "id": 20447,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "2712:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20453,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2712:117:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20454,
                  "nodeType": "ExpressionStatement",
                  "src": "2712:117:60"
                },
                {
                  "expression": {
                    "id": 20459,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20455,
                        "name": "__escrowTo",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20440,
                        "src": "2840:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20457,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2851:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "2840:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 20458,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20422,
                      "src": "2862:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2840:27:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20460,
                  "nodeType": "ExpressionStatement",
                  "src": "2840:27:60"
                },
                {
                  "expression": {
                    "id": 20465,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20461,
                        "name": "__escrowFrom",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20429,
                        "src": "2878:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20463,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2891:10:60",
                      "memberName": "collateral",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45557,
                      "src": "2878:23:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "id": 20464,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20422,
                      "src": "2905:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2878:32:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20466,
                  "nodeType": "ExpressionStatement",
                  "src": "2878:32:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20470,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20418,
                        "src": "2945:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20471,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20422,
                        "src": "2951:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20467,
                        "name": "Escrowable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45618,
                        "src": "2926:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Escrowable_$45618_$",
                          "typeString": "type(contract Escrowable)"
                        }
                      },
                      "id": 20469,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2937:7:60",
                      "memberName": "Slashed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45541,
                      "src": "2926:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20472,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2926:31:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20473,
                  "nodeType": "EmitStatement",
                  "src": "2921:36:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20477,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20420,
                        "src": "2990:2:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20478,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20422,
                        "src": "2994:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20474,
                        "name": "Payable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45766,
                        "src": "2973:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Payable_$45766_$",
                          "typeString": "type(contract Payable)"
                        }
                      },
                      "id": 20476,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2981:8:60",
                      "memberName": "Received",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45721,
                      "src": "2973:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20479,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2973:27:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20480,
                  "nodeType": "EmitStatement",
                  "src": "2968:32:60"
                }
              ]
            },
            "functionSelector": "e74f8239",
            "id": 20482,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "slash",
            "nameLocation": "2507:5:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20423,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20418,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "2521:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20482,
                  "src": "2513:12:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20417,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2513:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20420,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "2535:2:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20482,
                  "src": "2527:10:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20419,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2527:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20422,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2547:5:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20482,
                  "src": "2539:13:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20421,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2539:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2512:41:60"
            },
            "returnParameters": {
              "id": 20424,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2561:0:60"
            },
            "scope": 22249,
            "src": "2498:510:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20527,
              "nodeType": "Block",
              "src": "3069:323:60",
              "statements": [
                {
                  "assignments": [
                    20493
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20493,
                      "mutability": "mutable",
                      "name": "__escrow",
                      "nameLocation": "3106:8:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20527,
                      "src": "3080:34:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                        "typeString": "struct Escrowable.Escrow"
                      },
                      "typeName": {
                        "id": 20492,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20491,
                          "name": "Escrowable.Escrow",
                          "nameLocations": [
                            "3080:10:60",
                            "3091:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 45558,
                          "src": "3080:17:60"
                        },
                        "referencedDeclaration": 45558,
                        "src": "3080:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20499,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20494,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "3117:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20495,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3117:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20496,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3124:7:60",
                      "memberName": "escrows",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20299,
                      "src": "3117:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                        "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                      }
                    },
                    "id": 20498,
                    "indexExpression": {
                      "id": 20497,
                      "name": "from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20484,
                      "src": "3132:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3117:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                      "typeString": "struct Escrowable.Escrow storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3080:57:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20504,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 20501,
                            "name": "__escrow",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20493,
                            "src": "3170:8:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                              "typeString": "struct Escrowable.Escrow storage pointer"
                            }
                          },
                          "id": 20502,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3179:10:60",
                          "memberName": "collateral",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 45557,
                          "src": "3170:19:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 20503,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20486,
                          "src": "3193:5:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3170:28:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "457363726f7761626c653a20696e73756666696369656e7420636f6c6c61746572616c",
                        "id": 20505,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3213:37:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb",
                          "typeString": "literal_string \"Escrowable: insufficient collateral\""
                        },
                        "value": "Escrowable: insufficient collateral"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_96b77840be20e5cf9808765b9f169f74336527678ab39dde53156c125fa1a7fb",
                          "typeString": "literal_string \"Escrowable: insufficient collateral\""
                        }
                      ],
                      "id": 20500,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "3148:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20506,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3148:113:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20507,
                  "nodeType": "ExpressionStatement",
                  "src": "3148:113:60"
                },
                {
                  "expression": {
                    "id": 20512,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20508,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20493,
                        "src": "3272:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20510,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3281:10:60",
                      "memberName": "collateral",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45557,
                      "src": "3272:19:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "id": 20511,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20486,
                      "src": "3295:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3272:28:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20513,
                  "nodeType": "ExpressionStatement",
                  "src": "3272:28:60"
                },
                {
                  "expression": {
                    "id": 20518,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20514,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20493,
                        "src": "3311:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20516,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3320:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "3311:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 20517,
                      "name": "value",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20486,
                      "src": "3331:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3311:25:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20519,
                  "nodeType": "ExpressionStatement",
                  "src": "3311:25:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20523,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20484,
                        "src": "3372:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20524,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20486,
                        "src": "3378:5:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20520,
                        "name": "Escrowable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45618,
                        "src": "3352:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Escrowable_$45618_$",
                          "typeString": "type(contract Escrowable)"
                        }
                      },
                      "id": 20522,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3363:8:60",
                      "memberName": "Unstaked",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45547,
                      "src": "3352:19:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20525,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3352:32:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20526,
                  "nodeType": "EmitStatement",
                  "src": "3347:37:60"
                }
              ]
            },
            "functionSelector": "c2a672e0",
            "id": 20528,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "unstake",
            "nameLocation": "3025:7:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20487,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20484,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "3041:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20528,
                  "src": "3033:12:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20483,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3033:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20486,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "3055:5:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20528,
                  "src": "3047:13:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20485,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3047:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3032:29:60"
            },
            "returnParameters": {
              "id": 20488,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3069:0:60"
            },
            "scope": 22249,
            "src": "3016:376:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20564,
              "nodeType": "Block",
              "src": "3468:201:60",
              "statements": [
                {
                  "assignments": [
                    20539
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20539,
                      "mutability": "mutable",
                      "name": "__escrow",
                      "nameLocation": "3505:8:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20564,
                      "src": "3479:34:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                        "typeString": "struct Escrowable.Escrow"
                      },
                      "typeName": {
                        "id": 20538,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20537,
                          "name": "Escrowable.Escrow",
                          "nameLocations": [
                            "3479:10:60",
                            "3490:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 45558,
                          "src": "3479:17:60"
                        },
                        "referencedDeclaration": 45558,
                        "src": "3479:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20545,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20540,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "3516:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20541,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3516:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20542,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3523:7:60",
                      "memberName": "escrows",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20299,
                      "src": "3516:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Escrow_$45558_storage_$",
                        "typeString": "mapping(address => struct Escrowable.Escrow storage ref)"
                      }
                    },
                    "id": 20544,
                    "indexExpression": {
                      "id": 20543,
                      "name": "from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20530,
                      "src": "3531:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3516:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escrow_$45558_storage",
                      "typeString": "struct Escrowable.Escrow storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3479:57:60"
                },
                {
                  "expression": {
                    "id": 20549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 20546,
                      "name": "_withdrawn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20533,
                      "src": "3547:10:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 20547,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20539,
                        "src": "3560:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20548,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3569:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "3560:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3547:29:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20550,
                  "nodeType": "ExpressionStatement",
                  "src": "3547:29:60"
                },
                {
                  "expression": {
                    "id": 20555,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 20551,
                        "name": "__escrow",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20539,
                        "src": "3587:8:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escrow_$45558_storage_ptr",
                          "typeString": "struct Escrowable.Escrow storage pointer"
                        }
                      },
                      "id": 20553,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3596:7:60",
                      "memberName": "balance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45555,
                      "src": "3587:16:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "30",
                      "id": 20554,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3606:1:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3587:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20556,
                  "nodeType": "ExpressionStatement",
                  "src": "3587:20:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20560,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20530,
                        "src": "3644:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 20561,
                        "name": "_withdrawn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20533,
                        "src": "3650:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20557,
                        "name": "Escrowable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45618,
                        "src": "3623:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Escrowable_$45618_$",
                          "typeString": "type(contract Escrowable)"
                        }
                      },
                      "id": 20559,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3634:9:60",
                      "memberName": "Withdrawn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45553,
                      "src": "3623:20:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 20562,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3623:38:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20563,
                  "nodeType": "EmitStatement",
                  "src": "3618:43:60"
                }
              ]
            },
            "functionSelector": "51cff8d9",
            "id": 20565,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "withdraw",
            "nameLocation": "3409:8:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20530,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "3426:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20565,
                  "src": "3418:12:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20529,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3418:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3417:14:60"
            },
            "returnParameters": {
              "id": 20534,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20533,
                  "mutability": "mutable",
                  "name": "_withdrawn",
                  "nameLocation": "3456:10:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20565,
                  "src": "3448:18:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20532,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3448:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3447:20:60"
            },
            "scope": 22249,
            "src": "3400:269:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20580,
              "nodeType": "Block",
              "src": "3922:69:60",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20572,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "3940:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3940:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20574,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3947:7:60",
                      "memberName": "beacons",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20294,
                      "src": "3940:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                        "typeString": "mapping(uint256 => struct Witnet.Beacon storage ref)"
                      }
                    },
                    "id": 20578,
                    "indexExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20575,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "3955:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20576,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3955:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20577,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3962:20:60",
                      "memberName": "lastKnownBeaconIndex",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20289,
                      "src": "3955:27:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3940:43:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage",
                      "typeString": "struct Witnet.Beacon storage ref"
                    }
                  },
                  "functionReturnParameters": 20571,
                  "id": 20579,
                  "nodeType": "Return",
                  "src": "3933:50:60"
                }
              ]
            },
            "documentation": {
              "id": 20566,
              "nodeType": "StructuredDocumentation",
              "src": "3679:161:60",
              "text": "=======================================================================\n --- IWitOracleTrustless --------------------------------------------------"
            },
            "id": 20581,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getLastKnownBeacon",
            "nameLocation": "3855:18:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20567,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3873:2:60"
            },
            "returnParameters": {
              "id": 20571,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20570,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20581,
                  "src": "3899:21:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                    "typeString": "struct Witnet.Beacon"
                  },
                  "typeName": {
                    "id": 20569,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20568,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "3899:6:60",
                        "3906:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "3899:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "3899:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3898:23:60"
            },
            "scope": 22249,
            "src": "3846:145:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 20590,
              "nodeType": "Block",
              "src": "4066:53:60",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 20586,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20309,
                        "src": "4084:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                          "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                        }
                      },
                      "id": 20587,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4084:6:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                        "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                      }
                    },
                    "id": 20588,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "4091:20:60",
                    "memberName": "lastKnownBeaconIndex",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 20289,
                    "src": "4084:27:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 20585,
                  "id": 20589,
                  "nodeType": "Return",
                  "src": "4077:34:60"
                }
              ]
            },
            "id": 20591,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getLastKnownBeaconIndex",
            "nameLocation": "4008:23:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20582,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4031:2:60"
            },
            "returnParameters": {
              "id": 20585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20584,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20591,
                  "src": "4057:7:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20583,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4057:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4056:9:60"
            },
            "scope": 22249,
            "src": "3999:120:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 20629,
              "nodeType": "Block",
              "src": "4256:190:60",
              "statements": [
                {
                  "expression": {
                    "id": 20605,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 20601,
                      "name": "head",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20599,
                      "src": "4267:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 20603,
                          "name": "rollup",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20595,
                          "src": "4288:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                            "typeString": "struct Witnet.FastForward calldata[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                            "typeString": "struct Witnet.FastForward calldata[] calldata"
                          }
                        ],
                        "id": 20602,
                        "name": "verifyBeacons",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20664,
                        "src": "4274:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr_$returns$_t_struct$_Beacon_$37242_memory_ptr_$",
                          "typeString": "function (struct Witnet.FastForward calldata[] calldata) view returns (struct Witnet.Beacon memory)"
                        }
                      },
                      "id": 20604,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4274:21:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon memory"
                      }
                    },
                    "src": "4267:28:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                      "typeString": "struct Witnet.Beacon memory"
                    }
                  },
                  "id": 20606,
                  "nodeType": "ExpressionStatement",
                  "src": "4267:28:60"
                },
                {
                  "expression": {
                    "id": 20614,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 20607,
                            "name": "data",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20309,
                            "src": "4306:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 20608,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4306:6:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                            "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                          }
                        },
                        "id": 20609,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4313:7:60",
                        "memberName": "beacons",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 20294,
                        "src": "4306:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                          "typeString": "mapping(uint256 => struct Witnet.Beacon storage ref)"
                        }
                      },
                      "id": 20612,
                      "indexExpression": {
                        "expression": {
                          "id": 20610,
                          "name": "head",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20599,
                          "src": "4321:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                            "typeString": "struct Witnet.Beacon memory"
                          }
                        },
                        "id": 20611,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4326:5:60",
                        "memberName": "index",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37229,
                        "src": "4321:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4306:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_storage",
                        "typeString": "struct Witnet.Beacon storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 20613,
                      "name": "head",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20599,
                      "src": "4335:4:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon memory"
                      }
                    },
                    "src": "4306:33:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage",
                      "typeString": "struct Witnet.Beacon storage ref"
                    }
                  },
                  "id": 20615,
                  "nodeType": "ExpressionStatement",
                  "src": "4306:33:60"
                },
                {
                  "expression": {
                    "id": 20621,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20616,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "4350:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20617,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4350:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20618,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "4357:20:60",
                      "memberName": "lastKnownBeaconIndex",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20289,
                      "src": "4350:27:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 20619,
                        "name": "head",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20599,
                        "src": "4380:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                          "typeString": "struct Witnet.Beacon memory"
                        }
                      },
                      "id": 20620,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4385:5:60",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37229,
                      "src": "4380:10:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "4350:40:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20622,
                  "nodeType": "ExpressionStatement",
                  "src": "4350:40:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 20626,
                        "name": "head",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20599,
                        "src": "4433:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                          "typeString": "struct Witnet.Beacon memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                          "typeString": "struct Witnet.Beacon memory"
                        }
                      ],
                      "expression": {
                        "id": 20623,
                        "name": "IWitOracleTrustless",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27689,
                        "src": "4406:19:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleTrustless_$27689_$",
                          "typeString": "type(contract IWitOracleTrustless)"
                        }
                      },
                      "id": 20625,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4426:6:60",
                      "memberName": "Rollup",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27636,
                      "src": "4406:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_struct$_Beacon_$37242_memory_ptr_$returns$__$",
                        "typeString": "function (struct Witnet.Beacon memory)"
                      }
                    },
                    "id": 20627,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4406:32:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20628,
                  "nodeType": "EmitStatement",
                  "src": "4401:37:60"
                }
              ]
            },
            "functionSelector": "f308da0f",
            "id": 20630,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rollupBeacons",
            "nameLocation": "4136:13:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20596,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20595,
                  "mutability": "mutable",
                  "name": "rollup",
                  "nameLocation": "4180:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20630,
                  "src": "4150:36:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20593,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 20592,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "4150:6:60",
                          "4157:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "4150:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "4150:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 20594,
                    "nodeType": "ArrayTypeName",
                    "src": "4150:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4149:38:60"
            },
            "returnParameters": {
              "id": 20600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20599,
                  "mutability": "mutable",
                  "name": "head",
                  "nameLocation": "4245:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20630,
                  "src": "4224:25:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                    "typeString": "struct Witnet.Beacon"
                  },
                  "typeName": {
                    "id": 20598,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20597,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "4224:6:60",
                        "4231:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "4224:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "4224:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4223:27:60"
            },
            "scope": 22249,
            "src": "4127:319:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20663,
              "nodeType": "Block",
              "src": "4586:215:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "baseExpression": {
                                "id": 20651,
                                "name": "rollup",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20634,
                                "src": "4665:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "struct Witnet.FastForward calldata[] calldata"
                                }
                              },
                              "id": 20653,
                              "indexExpression": {
                                "hexValue": "30",
                                "id": 20652,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4672:1:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "4665:9:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                "typeString": "struct Witnet.FastForward calldata"
                              }
                            },
                            "id": 20654,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4675:6:60",
                            "memberName": "beacon",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37296,
                            "src": "4665:16:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                              "typeString": "struct Witnet.Beacon calldata"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                              "typeString": "struct Witnet.Beacon calldata"
                            }
                          ],
                          "expression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 20641,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20309,
                                  "src": "4619:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 20642,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4619:6:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                                  "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                                }
                              },
                              "id": 20643,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "4626:7:60",
                              "memberName": "beacons",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 20294,
                              "src": "4619:14:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                                "typeString": "mapping(uint256 => struct Witnet.Beacon storage ref)"
                              }
                            },
                            "id": 20649,
                            "indexExpression": {
                              "expression": {
                                "expression": {
                                  "baseExpression": {
                                    "id": 20644,
                                    "name": "rollup",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20634,
                                    "src": "4634:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                      "typeString": "struct Witnet.FastForward calldata[] calldata"
                                    }
                                  },
                                  "id": 20646,
                                  "indexExpression": {
                                    "hexValue": "30",
                                    "id": 20645,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "4641:1:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4634:9:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                    "typeString": "struct Witnet.FastForward calldata"
                                  }
                                },
                                "id": 20647,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4644:6:60",
                                "memberName": "beacon",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37296,
                                "src": "4634:16:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                                  "typeString": "struct Witnet.Beacon calldata"
                                }
                              },
                              "id": 20648,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "4651:5:60",
                              "memberName": "index",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37229,
                              "src": "4634:22:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4619:38:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_storage",
                              "typeString": "struct Witnet.Beacon storage ref"
                            }
                          },
                          "id": 20650,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4658:6:60",
                          "memberName": "equals",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37945,
                          "src": "4619:45:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_Beacon_$37242_storage_ptr_$_t_struct$_Beacon_$37242_calldata_ptr_$returns$_t_bool_$attached_to$_t_struct$_Beacon_$37242_storage_ptr_$",
                            "typeString": "function (struct Witnet.Beacon storage pointer,struct Witnet.Beacon calldata) view returns (bool)"
                          }
                        },
                        "id": 20655,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4619:63:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "666173742d666f7277617264696e672066726f6d20756e6d61746368696e6720626561636f6e",
                        "id": 20656,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4697:40:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7f77c2a36003d13fc3beb2f5e9db50b9dbdda64862198a6fa3eb9f4582586ede",
                          "typeString": "literal_string \"fast-forwarding from unmatching beacon\""
                        },
                        "value": "fast-forwarding from unmatching beacon"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7f77c2a36003d13fc3beb2f5e9db50b9dbdda64862198a6fa3eb9f4582586ede",
                          "typeString": "literal_string \"fast-forwarding from unmatching beacon\""
                        }
                      ],
                      "id": 20640,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "4597:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4597:151:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20658,
                  "nodeType": "ExpressionStatement",
                  "src": "4597:151:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 20660,
                        "name": "rollup",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20634,
                        "src": "4786:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      ],
                      "id": 20659,
                      "name": "_verifyFastForwards",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22248,
                      "src": "4766:19:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr_$returns$_t_struct$_Beacon_$37242_calldata_ptr_$",
                        "typeString": "function (struct Witnet.FastForward calldata[] calldata) pure returns (struct Witnet.Beacon calldata)"
                      }
                    },
                    "id": 20661,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4766:27:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                      "typeString": "struct Witnet.Beacon calldata"
                    }
                  },
                  "functionReturnParameters": 20639,
                  "id": 20662,
                  "nodeType": "Return",
                  "src": "4759:34:60"
                }
              ]
            },
            "functionSelector": "3317044f",
            "id": 20664,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "verifyBeacons",
            "nameLocation": "4463:13:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20635,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20634,
                  "mutability": "mutable",
                  "name": "rollup",
                  "nameLocation": "4507:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20664,
                  "src": "4477:36:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20632,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 20631,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "4477:6:60",
                          "4484:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "4477:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "4477:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 20633,
                    "nodeType": "ArrayTypeName",
                    "src": "4477:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4476:38:60"
            },
            "returnParameters": {
              "id": 20639,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20638,
                  "mutability": "mutable",
                  "name": "head",
                  "nameLocation": "4575:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20664,
                  "src": "4554:25:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                    "typeString": "struct Witnet.Beacon"
                  },
                  "typeName": {
                    "id": 20637,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20636,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "4554:6:60",
                        "4561:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "4554:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "4554:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4553:27:60"
            },
            "scope": 22249,
            "src": "4454:347:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20678,
              "nodeType": "Block",
              "src": "4891:48:60",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 20672,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20309,
                          "src": "4909:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20300_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitOracleTrustlessDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 20673,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4909:6:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$20300_storage_ptr",
                          "typeString": "struct WitOracleTrustlessDataLib.Storage storage pointer"
                        }
                      },
                      "id": 20674,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4916:7:60",
                      "memberName": "beacons",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 20294,
                      "src": "4909:14:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Beacon_$37242_storage_$",
                        "typeString": "mapping(uint256 => struct Witnet.Beacon storage ref)"
                      }
                    },
                    "id": 20676,
                    "indexExpression": {
                      "id": 20675,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20666,
                      "src": "4924:6:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "4909:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage",
                      "typeString": "struct Witnet.Beacon storage ref"
                    }
                  },
                  "functionReturnParameters": 20671,
                  "id": 20677,
                  "nodeType": "Return",
                  "src": "4902:29:60"
                }
              ]
            },
            "id": 20679,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekBeacon",
            "nameLocation": "4818:10:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20666,
                  "mutability": "mutable",
                  "name": "_index",
                  "nameLocation": "4837:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20679,
                  "src": "4829:14:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20665,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4829:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4828:16:60"
            },
            "returnParameters": {
              "id": 20671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20670,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20679,
                  "src": "4868:21:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                    "typeString": "struct Witnet.Beacon"
                  },
                  "typeName": {
                    "id": 20669,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20668,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "4868:6:60",
                        "4875:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "4868:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "4868:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4867:23:60"
            },
            "scope": 22249,
            "src": "4809:130:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 20799,
              "nodeType": "Block",
              "src": "5341:1537:60",
              "statements": [
                {
                  "assignments": [
                    20696
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20696,
                      "mutability": "mutable",
                      "name": "self",
                      "nameLocation": "5383:4:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20799,
                      "src": "5352:35:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 20695,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20694,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "5352:16:60",
                            "5369:5:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "5352:22:60"
                        },
                        "referencedDeclaration": 18074,
                        "src": "5352:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20701,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 20699,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20682,
                        "src": "5417:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 20697,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "5390:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 20698,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5407:9:60",
                      "memberName": "seekQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18181,
                      "src": "5390:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                      }
                    },
                    "id": 20700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5390:35:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5352:73:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 20708,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 20703,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967281,
                            "src": "5458:3:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 20704,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5462:6:60",
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "src": "5458:10:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 20705,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20696,
                              "src": "5472:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                              }
                            },
                            "id": 20706,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5477:7:60",
                            "memberName": "request",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18058,
                            "src": "5472:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                              "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                            }
                          },
                          "id": 20707,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5485:9:60",
                          "memberName": "requester",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18076,
                          "src": "5472:22:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5458:36:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f742074686520726571756573746572",
                        "id": 20709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5509:19:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                          "typeString": "literal_string \"not the requester\""
                        },
                        "value": "not the requester"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                          "typeString": "literal_string \"not the requester\""
                        }
                      ],
                      "id": 20702,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "5436:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5436:103:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20711,
                  "nodeType": "ExpressionStatement",
                  "src": "5436:103:60"
                },
                {
                  "expression": {
                    "id": 20715,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 20712,
                      "name": "_evmPayback",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20690,
                      "src": "5550:11:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                        "typeString": "Witnet.QueryEvmReward"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 20713,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20696,
                        "src": "5564:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      "id": 20714,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5569:6:60",
                      "memberName": "reward",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18070,
                      "src": "5564:11:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                        "typeString": "Witnet.QueryEvmReward"
                      }
                    },
                    "src": "5550:25:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "id": 20716,
                  "nodeType": "ExpressionStatement",
                  "src": "5550:25:60"
                },
                {
                  "assignments": [
                    20721
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20721,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "5605:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20799,
                      "src": "5586:31:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "typeName": {
                        "id": 20720,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20719,
                          "name": "Witnet.QueryStatus",
                          "nameLocations": [
                            "5586:6:60",
                            "5593:11:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37335,
                          "src": "5586:18:60"
                        },
                        "referencedDeclaration": 37335,
                        "src": "5586:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20726,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 20723,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20696,
                        "src": "5646:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 20724,
                        "name": "evmQueryAwaitingBlocks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20684,
                        "src": "5652:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20722,
                      "name": "getQueryStatusTrustlessly",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21044,
                      "src": "5620:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 20725,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5620:55:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5586:89:60"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    },
                    "id": 20731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 20727,
                      "name": "_queryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20721,
                      "src": "5822:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 20728,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 40741,
                          "src": "5838:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 20729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5845:11:60",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37335,
                        "src": "5838:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                          "typeString": "type(enum Witnet.QueryStatus)"
                        }
                      },
                      "id": 20730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "5857:7:60",
                      "memberName": "Expired",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37333,
                      "src": "5838:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "src": "5822:42:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "id": 20773,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 20769,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20721,
                        "src": "6529:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 20770,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "6545:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 20771,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6552:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "6545:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 20772,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "6564:9:60",
                        "memberName": "Finalized",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37331,
                        "src": "6545:28:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "src": "6529:44:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 20789,
                    "nodeType": "IfStatement",
                    "src": "6525:227:60",
                    "trueBody": {
                      "id": 20788,
                      "nodeType": "Block",
                      "src": "6575:177:60",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "696e76616c6964207175657279207374617475733a20",
                                        "id": 20779,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "6639:24:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        "value": "invalid query status: "
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 20782,
                                            "name": "_queryStatus",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 20721,
                                            "src": "6710:12:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          ],
                                          "expression": {
                                            "id": 20780,
                                            "name": "WitOracleDataLib",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 20110,
                                            "src": "6682:16:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                              "typeString": "type(library WitOracleDataLib)"
                                            }
                                          },
                                          "id": 20781,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6699:10:60",
                                          "memberName": "intoString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18560,
                                          "src": "6682:27:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_enum$_QueryStatus_$37335_$returns$_t_string_memory_ptr_$",
                                            "typeString": "function (enum Witnet.QueryStatus) pure returns (string memory)"
                                          }
                                        },
                                        "id": 20783,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6682:41:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 20777,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "6604:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 20778,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "6608:12:60",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "6604:16:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 20784,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6604:134:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 20776,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "6597:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                    "typeString": "type(string storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 20775,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6597:6:60",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 20785,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6597:142:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 20774,
                              "name": "revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4294967277,
                                4294967277
                              ],
                              "referencedDeclaration": 4294967277,
                              "src": "6590:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) pure"
                              }
                            },
                            "id": 20786,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6590:150:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 20787,
                          "nodeType": "ExpressionStatement",
                          "src": "6590:150:60"
                        }
                      ]
                    }
                  },
                  "id": 20790,
                  "nodeType": "IfStatement",
                  "src": "5818:934:60",
                  "trueBody": {
                    "id": 20768,
                    "nodeType": "Block",
                    "src": "5866:653:60",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint72",
                            "typeString": "uint72"
                          },
                          "id": 20738,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 20735,
                                "name": "_evmPayback",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20690,
                                "src": "5914:11:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                  "typeString": "Witnet.QueryEvmReward"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                  "typeString": "Witnet.QueryEvmReward"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 20732,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "5885:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 20733,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "5892:14:60",
                                "memberName": "QueryEvmReward",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37147,
                                "src": "5885:21:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                  "typeString": "type(Witnet.QueryEvmReward)"
                                }
                              },
                              "id": 20734,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "5907:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "5885:28:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                              }
                            },
                            "id": 20736,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5885:41:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint72",
                              "typeString": "uint72"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 20737,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5929:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5885:45:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 20767,
                        "nodeType": "IfStatement",
                        "src": "5881:617:60",
                        "trueBody": {
                          "id": 20766,
                          "nodeType": "Block",
                          "src": "5932:566:60",
                          "statements": [
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 20746,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 20739,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20696,
                                      "src": "5955:4:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 20740,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "5960:8:60",
                                    "memberName": "response",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18061,
                                    "src": "5955:13:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                      "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                    }
                                  },
                                  "id": 20741,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5969:8:60",
                                  "memberName": "disputer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18099,
                                  "src": "5955:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 20744,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "5989:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 20743,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "5981:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 20742,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "5981:7:60",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 20745,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "5981:10:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "5955:36:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 20765,
                              "nodeType": "IfStatement",
                              "src": "5951:532:60",
                              "trueBody": {
                                "id": 20764,
                                "nodeType": "Block",
                                "src": "5993:490:60",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "expression": {
                                              "id": 20748,
                                              "name": "self",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 20696,
                                              "src": "6114:4:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                                              }
                                            },
                                            "id": 20749,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6119:8:60",
                                            "memberName": "response",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 18061,
                                            "src": "6114:13:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                              "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                            }
                                          },
                                          "id": 20750,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6128:8:60",
                                          "memberName": "reporter",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18089,
                                          "src": "6114:22:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "expression": {
                                            "expression": {
                                              "id": 20751,
                                              "name": "self",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 20696,
                                              "src": "6163:4:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                                              }
                                            },
                                            "id": 20752,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6168:8:60",
                                            "memberName": "response",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 18061,
                                            "src": "6163:13:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                              "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                            }
                                          },
                                          "id": 20753,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6177:8:60",
                                          "memberName": "disputer",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18099,
                                          "src": "6163:22:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "id": 20754,
                                          "name": "evmQueryReportingStake",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 20686,
                                          "src": "6212:22:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "id": 20747,
                                        "name": "slash",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 20482,
                                        "src": "6082:5:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                                          "typeString": "function (address,address,uint256)"
                                        }
                                      },
                                      "id": 20755,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "6082:175:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 20756,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6082:175:60"
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "expression": {
                                              "id": 20758,
                                              "name": "self",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 20696,
                                              "src": "6369:4:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                                              }
                                            },
                                            "id": 20759,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6374:8:60",
                                            "memberName": "response",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 18061,
                                            "src": "6369:13:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                              "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                            }
                                          },
                                          "id": 20760,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6383:8:60",
                                          "memberName": "disputer",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18099,
                                          "src": "6369:22:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "id": 20761,
                                          "name": "evmQueryReportingStake",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 20686,
                                          "src": "6418:22:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "id": 20757,
                                        "name": "unstake",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 20528,
                                        "src": "6335:7:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                                          "typeString": "function (address,uint256)"
                                        }
                                      },
                                      "id": 20762,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "6335:128:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 20763,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6335:128:60"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 20797,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "6823:47:60",
                    "subExpression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 20791,
                              "name": "WitOracleDataLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20110,
                              "src": "6830:16:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                "typeString": "type(library WitOracleDataLib)"
                              }
                            },
                            "id": 20792,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6847:4:60",
                            "memberName": "data",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18116,
                            "src": "6830:21:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$18055_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitOracleDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 20793,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6830:23:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$18055_storage_ptr",
                            "typeString": "struct WitOracleDataLib.Storage storage pointer"
                          }
                        },
                        "id": 20794,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6854:7:60",
                        "memberName": "queries",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18042,
                        "src": "6830:31:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$18074_storage_$",
                          "typeString": "mapping(uint256 => struct WitOracleDataLib.Query storage ref)"
                        }
                      },
                      "id": 20796,
                      "indexExpression": {
                        "id": 20795,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20682,
                        "src": "6862:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "6830:40:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage",
                        "typeString": "struct WitOracleDataLib.Query storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20798,
                  "nodeType": "ExpressionStatement",
                  "src": "6823:47:60"
                }
              ]
            },
            "documentation": {
              "id": 20680,
              "nodeType": "StructuredDocumentation",
              "src": "4949:158:60",
              "text": "=======================================================================\n --- IWitOracle --------------------------------------------------------"
            },
            "functionSelector": "45ac7f3f",
            "id": 20800,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteQueryTrustlessly",
            "nameLocation": "5122:22:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20682,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "5167:7:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20800,
                  "src": "5159:15:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20681,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5159:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20684,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "5197:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20800,
                  "src": "5189:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20683,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5189:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20686,
                  "mutability": "mutable",
                  "name": "evmQueryReportingStake",
                  "nameLocation": "5242:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20800,
                  "src": "5234:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20685,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5234:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5144:131:60"
            },
            "returnParameters": {
              "id": 20691,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20690,
                  "mutability": "mutable",
                  "name": "_evmPayback",
                  "nameLocation": "5323:11:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20800,
                  "src": "5301:33:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                    "typeString": "Witnet.QueryEvmReward"
                  },
                  "typeName": {
                    "id": 20689,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20688,
                      "name": "Witnet.QueryEvmReward",
                      "nameLocations": [
                        "5301:6:60",
                        "5308:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37147,
                      "src": "5301:21:60"
                    },
                    "referencedDeclaration": 37147,
                    "src": "5301:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5300:35:60"
            },
            "scope": 22249,
            "src": "5113:1765:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20912,
              "nodeType": "Block",
              "src": "7108:1523:60",
              "statements": [
                {
                  "assignments": [
                    20815
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20815,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "7138:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20912,
                      "src": "7119:31:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "typeName": {
                        "id": 20814,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20813,
                          "name": "Witnet.QueryStatus",
                          "nameLocations": [
                            "7119:6:60",
                            "7126:11:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37335,
                          "src": "7119:18:60"
                        },
                        "referencedDeclaration": 37335,
                        "src": "7119:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20820,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 20817,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20803,
                        "src": "7193:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 20818,
                        "name": "evmQueryAwaitingBlocks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20805,
                        "src": "7212:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20816,
                      "name": "getQueryStatusTrustlessly",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21044,
                      "src": "7153:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 20819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7153:92:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7119:126:60"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    },
                    "id": 20825,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 20821,
                      "name": "_queryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20815,
                      "src": "7260:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 20822,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 40741,
                          "src": "7276:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 20823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7283:11:60",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37335,
                        "src": "7276:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                          "typeString": "type(enum Witnet.QueryStatus)"
                        }
                      },
                      "id": 20824,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "7295:9:60",
                      "memberName": "Finalized",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37331,
                      "src": "7276:28:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "src": "7260:44:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "id": 20865,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 20861,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20815,
                        "src": "7948:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 20862,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "7964:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 20863,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7971:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "7964:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 20864,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "7983:8:60",
                        "memberName": "Reported",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37330,
                        "src": "7964:27:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "src": "7948:43:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 20881,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "id": 20875,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 20871,
                            "name": "_queryStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20815,
                            "src": "8108:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 20872,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "8124:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 20873,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8131:11:60",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37335,
                              "src": "8124:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "type(enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 20874,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "8143:6:60",
                            "memberName": "Posted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37329,
                            "src": "8124:25:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "src": "8108:41:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "id": 20880,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 20876,
                            "name": "_queryStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20815,
                            "src": "8170:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 20877,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "8186:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 20878,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8193:11:60",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37335,
                              "src": "8186:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "type(enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 20879,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "8205:7:60",
                            "memberName": "Delayed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37332,
                            "src": "8186:26:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "src": "8170:42:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "8108:104:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 20897,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            },
                            "id": 20891,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 20887,
                              "name": "_queryStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20815,
                              "src": "8337:12:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                "typeString": "enum Witnet.QueryStatus"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 20888,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "8353:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 20889,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8360:11:60",
                                "memberName": "QueryStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37335,
                                "src": "8353:18:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                  "typeString": "type(enum Witnet.QueryStatus)"
                                }
                              },
                              "id": 20890,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "8372:7:60",
                              "memberName": "Expired",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37333,
                              "src": "8353:26:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                "typeString": "enum Witnet.QueryStatus"
                              }
                            },
                            "src": "8337:42:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            },
                            "id": 20896,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 20892,
                              "name": "_queryStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20815,
                              "src": "8400:12:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                "typeString": "enum Witnet.QueryStatus"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 20893,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "8416:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 20894,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8423:11:60",
                                "memberName": "QueryStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37335,
                                "src": "8416:18:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                  "typeString": "type(enum Witnet.QueryStatus)"
                                }
                              },
                              "id": 20895,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "8435:8:60",
                              "memberName": "Disputed",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37334,
                              "src": "8416:27:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                "typeString": "enum Witnet.QueryStatus"
                              }
                            },
                            "src": "8400:43:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "8337:106:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 20907,
                          "nodeType": "Block",
                          "src": "8549:75:60",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 20903,
                                    "name": "IWitOracleLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 28786,
                                    "src": "8571:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                      "typeString": "type(contract IWitOracleLegacy)"
                                    }
                                  },
                                  "id": 20904,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "8588:19:60",
                                  "memberName": "QueryResponseStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 28682,
                                  "src": "8571:36:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                    "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                  }
                                },
                                "id": 20905,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "8608:4:60",
                                "memberName": "Void",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28675,
                                "src": "8571:41:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                  "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                }
                              },
                              "functionReturnParameters": 20810,
                              "id": 20906,
                              "nodeType": "Return",
                              "src": "8564:48:60"
                            }
                          ]
                        },
                        "id": 20908,
                        "nodeType": "IfStatement",
                        "src": "8319:305:60",
                        "trueBody": {
                          "id": 20902,
                          "nodeType": "Block",
                          "src": "8455:88:60",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 20898,
                                    "name": "IWitOracleLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 28786,
                                    "src": "8477:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                      "typeString": "type(contract IWitOracleLegacy)"
                                    }
                                  },
                                  "id": 20899,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "8494:19:60",
                                  "memberName": "QueryResponseStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 28682,
                                  "src": "8477:36:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                    "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                  }
                                },
                                "id": 20900,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "8514:7:60",
                                "memberName": "Expired",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28681,
                                "src": "8477:44:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                  "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                }
                              },
                              "functionReturnParameters": 20810,
                              "id": 20901,
                              "nodeType": "Return",
                              "src": "8470:51:60"
                            }
                          ]
                        }
                      },
                      "id": 20909,
                      "nodeType": "IfStatement",
                      "src": "8090:534:60",
                      "trueBody": {
                        "id": 20886,
                        "nodeType": "Block",
                        "src": "8224:89:60",
                        "statements": [
                          {
                            "expression": {
                              "expression": {
                                "expression": {
                                  "id": 20882,
                                  "name": "IWitOracleLegacy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 28786,
                                  "src": "8246:16:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                    "typeString": "type(contract IWitOracleLegacy)"
                                  }
                                },
                                "id": 20883,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8263:19:60",
                                "memberName": "QueryResponseStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28682,
                                "src": "8246:36:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                  "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                }
                              },
                              "id": 20884,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "8283:8:60",
                              "memberName": "Awaiting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28676,
                              "src": "8246:45:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                              }
                            },
                            "functionReturnParameters": 20810,
                            "id": 20885,
                            "nodeType": "Return",
                            "src": "8239:52:60"
                          }
                        ]
                      }
                    },
                    "id": 20910,
                    "nodeType": "IfStatement",
                    "src": "7944:680:60",
                    "trueBody": {
                      "id": 20870,
                      "nodeType": "Block",
                      "src": "7993:91:60",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 20866,
                                "name": "IWitOracleLegacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28786,
                                "src": "8015:16:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                  "typeString": "type(contract IWitOracleLegacy)"
                                }
                              },
                              "id": 20867,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8032:19:60",
                              "memberName": "QueryResponseStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28682,
                              "src": "8015:36:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                              }
                            },
                            "id": 20868,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "8052:10:60",
                            "memberName": "Finalizing",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28679,
                            "src": "8015:47:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                              "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                            }
                          },
                          "functionReturnParameters": 20810,
                          "id": 20869,
                          "nodeType": "Return",
                          "src": "8008:54:60"
                        }
                      ]
                    }
                  },
                  "id": 20911,
                  "nodeType": "IfStatement",
                  "src": "7256:1368:60",
                  "trueBody": {
                    "id": 20860,
                    "nodeType": "Block",
                    "src": "7306:632:60",
                    "statements": [
                      {
                        "assignments": [
                          20827
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 20827,
                            "mutability": "mutable",
                            "name": "__cborValues",
                            "nameLocation": "7335:12:60",
                            "nodeType": "VariableDeclaration",
                            "scope": 20860,
                            "src": "7321:26:60",
                            "stateVariable": false,
                            "storageLocation": "storage",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 20826,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "7321:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 20831,
                        "initialValue": {
                          "expression": {
                            "expression": {
                              "id": 20828,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20803,
                              "src": "7350:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                              }
                            },
                            "id": 20829,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7355:8:60",
                            "memberName": "response",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18061,
                            "src": "7350:13:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                              "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                            }
                          },
                          "id": 20830,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7364:15:60",
                          "memberName": "resultCborBytes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18097,
                          "src": "7350:29:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7321:58:60"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 20835,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 20832,
                              "name": "__cborValues",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20827,
                              "src": "7398:12:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes storage pointer"
                              }
                            },
                            "id": 20833,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7411:6:60",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "7398:19:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 20834,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7420:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7398:23:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 20858,
                          "nodeType": "Block",
                          "src": "7759:168:60",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 20854,
                                    "name": "IWitOracleLegacy",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 28786,
                                    "src": "7865:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                      "typeString": "type(contract IWitOracleLegacy)"
                                    }
                                  },
                                  "id": 20855,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "7882:19:60",
                                  "memberName": "QueryResponseStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 28682,
                                  "src": "7865:36:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                    "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                  }
                                },
                                "id": 20856,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "7902:9:60",
                                "memberName": "Delivered",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28680,
                                "src": "7865:46:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                  "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                }
                              },
                              "functionReturnParameters": 20810,
                              "id": 20857,
                              "nodeType": "Return",
                              "src": "7858:53:60"
                            }
                          ]
                        },
                        "id": 20859,
                        "nodeType": "IfStatement",
                        "src": "7394:533:60",
                        "trueBody": {
                          "id": 20853,
                          "nodeType": "Block",
                          "src": "7423:330:60",
                          "statements": [
                            {
                              "expression": {
                                "components": [
                                  {
                                    "condition": {
                                      "commonType": {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                      },
                                      "id": 20843,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "baseExpression": {
                                          "id": 20836,
                                          "name": "__cborValues",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 20827,
                                          "src": "7540:12:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes storage pointer"
                                          }
                                        },
                                        "id": 20838,
                                        "indexExpression": {
                                          "hexValue": "30",
                                          "id": 20837,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7553:1:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "7540:15:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "arguments": [
                                          {
                                            "hexValue": "30786438",
                                            "id": 20841,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7566:4:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_216_by_1",
                                              "typeString": "int_const 216"
                                            },
                                            "value": "0xd8"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_216_by_1",
                                              "typeString": "int_const 216"
                                            }
                                          ],
                                          "id": 20840,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "7559:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 20839,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "7559:6:60",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 20842,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7559:12:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      "src": "7540:31:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "falseExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 20847,
                                          "name": "IWitOracleLegacy",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 28786,
                                          "src": "7662:16:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                            "typeString": "type(contract IWitOracleLegacy)"
                                          }
                                        },
                                        "id": 20848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "7679:19:60",
                                        "memberName": "QueryResponseStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 28682,
                                        "src": "7662:36:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                          "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                        }
                                      },
                                      "id": 20849,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "7699:5:60",
                                      "memberName": "Ready",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 28677,
                                      "src": "7662:42:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                        "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                      }
                                    },
                                    "id": 20850,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "Conditional",
                                    "src": "7540:164:60",
                                    "trueExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 20844,
                                          "name": "IWitOracleLegacy",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 28786,
                                          "src": "7595:16:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_IWitOracleLegacy_$28786_$",
                                            "typeString": "type(contract IWitOracleLegacy)"
                                          }
                                        },
                                        "id": 20845,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "7612:19:60",
                                        "memberName": "QueryResponseStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 28682,
                                        "src": "7595:36:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_QueryResponseStatus_$28682_$",
                                          "typeString": "type(enum IWitOracleLegacy.QueryResponseStatus)"
                                        }
                                      },
                                      "id": 20846,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "7632:5:60",
                                      "memberName": "Error",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 28678,
                                      "src": "7595:42:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                        "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                    }
                                  }
                                ],
                                "id": 20851,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "7539:184:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                                  "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                                }
                              },
                              "functionReturnParameters": 20810,
                              "id": 20852,
                              "nodeType": "Return",
                              "src": "7532:191:60"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "bd75eadb",
            "id": 20913,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResponseStatusTrustlessly",
            "nameLocation": "6895:33:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20806,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20803,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "6974:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20913,
                  "src": "6943:35:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                    "typeString": "struct WitOracleDataLib.Query"
                  },
                  "typeName": {
                    "id": 20802,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20801,
                      "name": "WitOracleDataLib.Query",
                      "nameLocations": [
                        "6943:16:60",
                        "6960:5:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18074,
                      "src": "6943:22:60"
                    },
                    "referencedDeclaration": 18074,
                    "src": "6943:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20805,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "7001:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20913,
                  "src": "6993:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20804,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6993:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6928:106:60"
            },
            "returnParameters": {
              "id": 20810,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20809,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20913,
                  "src": "7065:36:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                    "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                  },
                  "typeName": {
                    "id": 20808,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20807,
                      "name": "IWitOracleLegacy.QueryResponseStatus",
                      "nameLocations": [
                        "7065:16:60",
                        "7082:19:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28682,
                      "src": "7065:36:60"
                    },
                    "referencedDeclaration": 28682,
                    "src": "7065:36:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7064:38:60"
            },
            "scope": 22249,
            "src": "6886:1745:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20939,
              "nodeType": "Block",
              "src": "8860:198:60",
              "statements": [
                {
                  "assignments": [
                    20928
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20928,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "8890:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 20939,
                      "src": "8871:31:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "typeName": {
                        "id": 20927,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 20926,
                          "name": "Witnet.QueryStatus",
                          "nameLocations": [
                            "8871:6:60",
                            "8878:11:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37335,
                          "src": "8871:18:60"
                        },
                        "referencedDeclaration": 37335,
                        "src": "8871:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20933,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 20930,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20916,
                        "src": "8945:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 20931,
                        "name": "evmQueryAwaitingBlocks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20918,
                        "src": "8964:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20929,
                      "name": "getQueryStatusTrustlessly",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21044,
                      "src": "8905:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 20932,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8905:92:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8871:126:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 20935,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20916,
                        "src": "9031:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 20936,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20928,
                        "src": "9037:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      ],
                      "id": 20934,
                      "name": "_getQueryResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22087,
                      "src": "9015:15:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_enum$_QueryStatus_$37335_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,enum Witnet.QueryStatus) view returns (struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 20937,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9015:35:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "functionReturnParameters": 20923,
                  "id": 20938,
                  "nodeType": "Return",
                  "src": "9008:42:60"
                }
              ]
            },
            "functionSelector": "4656a450",
            "id": 20940,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryResultTrustlessly",
            "nameLocation": "8648:25:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20919,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20916,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "8719:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20940,
                  "src": "8688:35:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                    "typeString": "struct WitOracleDataLib.Query"
                  },
                  "typeName": {
                    "id": 20915,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20914,
                      "name": "WitOracleDataLib.Query",
                      "nameLocations": [
                        "8688:16:60",
                        "8705:5:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18074,
                      "src": "8688:22:60"
                    },
                    "referencedDeclaration": 18074,
                    "src": "8688:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20918,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "8746:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20940,
                  "src": "8738:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20917,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8738:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8673:106:60"
            },
            "returnParameters": {
              "id": 20923,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20922,
                  "mutability": "mutable",
                  "name": "_result",
                  "nameLocation": "8846:7:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 20940,
                  "src": "8821:32:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 20921,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20920,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "8821:6:60",
                        "8828:10:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "8821:17:60"
                    },
                    "referencedDeclaration": 37293,
                    "src": "8821:17:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8820:34:60"
            },
            "scope": 22249,
            "src": "8639:419:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21043,
              "nodeType": "Block",
              "src": "9262:1032:60",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    },
                    "id": 20955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 20951,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20943,
                          "src": "9277:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                          }
                        },
                        "id": 20952,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9282:8:60",
                        "memberName": "response",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18061,
                        "src": "9277:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                        }
                      },
                      "id": 20953,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9291:15:60",
                      "memberName": "resultTimestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18093,
                      "src": "9277:29:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 20954,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "9310:1:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "9277:34:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 21041,
                    "nodeType": "Block",
                    "src": "9723:564:60",
                    "statements": [
                      {
                        "assignments": [
                          20993
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 20993,
                            "mutability": "mutable",
                            "name": "_checkpoint",
                            "nameLocation": "9746:11:60",
                            "nodeType": "VariableDeclaration",
                            "scope": 21041,
                            "src": "9738:19:60",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 20992,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "9738:7:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 21000,
                        "initialValue": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 20997,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20943,
                                "src": "9786:4:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                  "typeString": "struct WitOracleDataLib.Query storage pointer"
                                }
                              },
                              "id": 20998,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9791:10:60",
                              "memberName": "checkpoint",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 18073,
                              "src": "9786:15:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                "typeString": "Witnet.BlockNumber"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                "typeString": "Witnet.BlockNumber"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 20994,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "9760:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 20995,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9767:11:60",
                              "memberName": "BlockNumber",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37145,
                              "src": "9760:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                "typeString": "type(Witnet.BlockNumber)"
                              }
                            },
                            "id": 20996,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "9779:6:60",
                            "memberName": "unwrap",
                            "nodeType": "MemberAccess",
                            "src": "9760:25:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_uint64_$",
                              "typeString": "function (Witnet.BlockNumber) pure returns (uint64)"
                            }
                          },
                          "id": 20999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9760:42:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "9738:64:60"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 21003,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21001,
                            "name": "_checkpoint",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20993,
                            "src": "9821:11:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 21002,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "9836:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "9821:16:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 21016,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 21009,
                                "name": "block",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967292,
                                "src": "9931:5:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_block",
                                  "typeString": "block"
                                }
                              },
                              "id": 21010,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9937:6:60",
                              "memberName": "number",
                              "nodeType": "MemberAccess",
                              "src": "9931:12:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21015,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 21011,
                                "name": "_checkpoint",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20993,
                                "src": "9946:11:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 21014,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 21012,
                                  "name": "evmQueryAwaitingBlocks",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20945,
                                  "src": "9960:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "hexValue": "32",
                                  "id": 21013,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9985:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                },
                                "src": "9960:26:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "9946:40:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "9931:55:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21027,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 21022,
                                  "name": "block",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967292,
                                  "src": "10068:5:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_block",
                                    "typeString": "block"
                                  }
                                },
                                "id": 21023,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10074:6:60",
                                "memberName": "number",
                                "nodeType": "MemberAccess",
                                "src": "10068:12:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 21026,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 21024,
                                  "name": "_checkpoint",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20993,
                                  "src": "10083:11:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "id": 21025,
                                  "name": "evmQueryAwaitingBlocks",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20945,
                                  "src": "10097:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "10083:36:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "10068:51:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "id": 21037,
                              "nodeType": "Block",
                              "src": "10209:67:60",
                              "statements": [
                                {
                                  "expression": {
                                    "expression": {
                                      "expression": {
                                        "id": 21033,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "10235:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21034,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "10242:11:60",
                                      "memberName": "QueryStatus",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37335,
                                      "src": "10235:18:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                        "typeString": "type(enum Witnet.QueryStatus)"
                                      }
                                    },
                                    "id": 21035,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "10254:6:60",
                                    "memberName": "Posted",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37329,
                                    "src": "10235:25:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                      "typeString": "enum Witnet.QueryStatus"
                                    }
                                  },
                                  "functionReturnParameters": 20950,
                                  "id": 21036,
                                  "nodeType": "Return",
                                  "src": "10228:32:60"
                                }
                              ]
                            },
                            "id": 21038,
                            "nodeType": "IfStatement",
                            "src": "10064:212:60",
                            "trueBody": {
                              "id": 21032,
                              "nodeType": "Block",
                              "src": "10121:82:60",
                              "statements": [
                                {
                                  "expression": {
                                    "expression": {
                                      "expression": {
                                        "id": 21028,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "10147:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21029,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "10154:11:60",
                                      "memberName": "QueryStatus",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37335,
                                      "src": "10147:18:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                        "typeString": "type(enum Witnet.QueryStatus)"
                                      }
                                    },
                                    "id": 21030,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "10166:7:60",
                                    "memberName": "Delayed",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37332,
                                    "src": "10147:26:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                      "typeString": "enum Witnet.QueryStatus"
                                    }
                                  },
                                  "functionReturnParameters": 20950,
                                  "id": 21031,
                                  "nodeType": "Return",
                                  "src": "10140:33:60"
                                }
                              ]
                            }
                          },
                          "id": 21039,
                          "nodeType": "IfStatement",
                          "src": "9927:349:60",
                          "trueBody": {
                            "id": 21021,
                            "nodeType": "Block",
                            "src": "9988:70:60",
                            "statements": [
                              {
                                "expression": {
                                  "expression": {
                                    "expression": {
                                      "id": 21017,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "10014:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 21018,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10021:11:60",
                                    "memberName": "QueryStatus",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37335,
                                    "src": "10014:18:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                      "typeString": "type(enum Witnet.QueryStatus)"
                                    }
                                  },
                                  "id": 21019,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "10033:7:60",
                                  "memberName": "Expired",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37333,
                                  "src": "10014:26:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                    "typeString": "enum Witnet.QueryStatus"
                                  }
                                },
                                "functionReturnParameters": 20950,
                                "id": 21020,
                                "nodeType": "Return",
                                "src": "10007:33:60"
                              }
                            ]
                          }
                        },
                        "id": 21040,
                        "nodeType": "IfStatement",
                        "src": "9817:459:60",
                        "trueBody": {
                          "id": 21008,
                          "nodeType": "Block",
                          "src": "9839:82:60",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 21004,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "9865:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 21005,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9872:11:60",
                                  "memberName": "QueryStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37335,
                                  "src": "9865:18:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                    "typeString": "type(enum Witnet.QueryStatus)"
                                  }
                                },
                                "id": 21006,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "9884:7:60",
                                "memberName": "Unknown",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37328,
                                "src": "9865:26:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                  "typeString": "enum Witnet.QueryStatus"
                                }
                              },
                              "functionReturnParameters": 20950,
                              "id": 21007,
                              "nodeType": "Return",
                              "src": "9858:33:60"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 21042,
                  "nodeType": "IfStatement",
                  "src": "9273:1014:60",
                  "trueBody": {
                    "id": 20991,
                    "nodeType": "Block",
                    "src": "9313:404:60",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 20964,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 20956,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "9332:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 20957,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "9338:6:60",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "9332:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 20961,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20943,
                                  "src": "9374:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                  }
                                },
                                "id": 20962,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9379:10:60",
                                "memberName": "checkpoint",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18073,
                                "src": "9374:15:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                  "typeString": "Witnet.BlockNumber"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                  "typeString": "Witnet.BlockNumber"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 20958,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "9348:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 20959,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9355:11:60",
                                "memberName": "BlockNumber",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37145,
                                "src": "9348:18:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                  "typeString": "type(Witnet.BlockNumber)"
                                }
                              },
                              "id": 20960,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "9367:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "9348:25:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.BlockNumber) pure returns (uint64)"
                              }
                            },
                            "id": 20963,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9348:42:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "src": "9332:58:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 20989,
                          "nodeType": "Block",
                          "src": "9637:69:60",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 20985,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "9663:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 20986,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9670:11:60",
                                  "memberName": "QueryStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37335,
                                  "src": "9663:18:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                    "typeString": "type(enum Witnet.QueryStatus)"
                                  }
                                },
                                "id": 20987,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "9682:8:60",
                                "memberName": "Reported",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37330,
                                "src": "9663:27:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                  "typeString": "enum Witnet.QueryStatus"
                                }
                              },
                              "functionReturnParameters": 20950,
                              "id": 20988,
                              "nodeType": "Return",
                              "src": "9656:34:60"
                            }
                          ]
                        },
                        "id": 20990,
                        "nodeType": "IfStatement",
                        "src": "9328:378:60",
                        "trueBody": {
                          "id": 20984,
                          "nodeType": "Block",
                          "src": "9392:239:60",
                          "statements": [
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 20972,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 20965,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20943,
                                      "src": "9415:4:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 20966,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "9420:8:60",
                                    "memberName": "response",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18061,
                                    "src": "9415:13:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                      "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                    }
                                  },
                                  "id": 20967,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9429:8:60",
                                  "memberName": "disputer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18099,
                                  "src": "9415:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 20970,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "9449:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 20969,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "9441:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 20968,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "9441:7:60",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 20971,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "9441:10:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "9415:36:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 20982,
                                "nodeType": "Block",
                                "src": "9538:78:60",
                                "statements": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "expression": {
                                          "id": 20978,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "9568:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 20979,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "9575:11:60",
                                        "memberName": "QueryStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37335,
                                        "src": "9568:18:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                          "typeString": "type(enum Witnet.QueryStatus)"
                                        }
                                      },
                                      "id": 20980,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "9587:9:60",
                                      "memberName": "Finalized",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37331,
                                      "src": "9568:28:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                        "typeString": "enum Witnet.QueryStatus"
                                      }
                                    },
                                    "functionReturnParameters": 20950,
                                    "id": 20981,
                                    "nodeType": "Return",
                                    "src": "9561:35:60"
                                  }
                                ]
                              },
                              "id": 20983,
                              "nodeType": "IfStatement",
                              "src": "9411:205:60",
                              "trueBody": {
                                "id": 20977,
                                "nodeType": "Block",
                                "src": "9453:79:60",
                                "statements": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "expression": {
                                          "id": 20973,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "9483:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 20974,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "9490:11:60",
                                        "memberName": "QueryStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37335,
                                        "src": "9483:18:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                          "typeString": "type(enum Witnet.QueryStatus)"
                                        }
                                      },
                                      "id": 20975,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "9502:8:60",
                                      "memberName": "Disputed",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37334,
                                      "src": "9483:27:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                        "typeString": "enum Witnet.QueryStatus"
                                      }
                                    },
                                    "functionReturnParameters": 20950,
                                    "id": 20976,
                                    "nodeType": "Return",
                                    "src": "9476:34:60"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "3962372d",
            "id": 21044,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getQueryStatusTrustlessly",
            "nameLocation": "9075:25:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20946,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20943,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "9146:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21044,
                  "src": "9115:35:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                    "typeString": "struct WitOracleDataLib.Query"
                  },
                  "typeName": {
                    "id": 20942,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20941,
                      "name": "WitOracleDataLib.Query",
                      "nameLocations": [
                        "9115:16:60",
                        "9132:5:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18074,
                      "src": "9115:22:60"
                    },
                    "referencedDeclaration": 18074,
                    "src": "9115:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20945,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "9173:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21044,
                  "src": "9165:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20944,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9165:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9100:106:60"
            },
            "returnParameters": {
              "id": 20950,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20949,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21044,
                  "src": "9237:18:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryStatus_$37335",
                    "typeString": "enum Witnet.QueryStatus"
                  },
                  "typeName": {
                    "id": 20948,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20947,
                      "name": "Witnet.QueryStatus",
                      "nameLocations": [
                        "9237:6:60",
                        "9244:11:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37335,
                      "src": "9237:18:60"
                    },
                    "referencedDeclaration": 37335,
                    "src": "9237:18:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9236:20:60"
            },
            "scope": 22249,
            "src": "9066:1228:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21203,
              "nodeType": "Block",
              "src": "10685:2399:60",
              "statements": [
                {
                  "assignments": [
                    21060
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21060,
                      "mutability": "mutable",
                      "name": "self",
                      "nameLocation": "10731:4:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21203,
                      "src": "10700:35:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 21059,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21058,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "10700:16:60",
                            "10717:5:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "10700:22:60"
                        },
                        "referencedDeclaration": 18074,
                        "src": "10700:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21065,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21063,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21047,
                        "src": "10765:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 21061,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "10738:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 21062,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10755:9:60",
                      "memberName": "seekQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18181,
                      "src": "10738:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                      }
                    },
                    "id": 21064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10738:35:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10700:73:60"
                },
                {
                  "expression": {
                    "id": 21073,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21066,
                      "name": "_evmReward",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21054,
                      "src": "10794:10:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 21070,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21060,
                            "src": "10836:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 21071,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10841:6:60",
                          "memberName": "reward",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18070,
                          "src": "10836:11:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                            "typeString": "Witnet.QueryEvmReward"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                            "typeString": "Witnet.QueryEvmReward"
                          }
                        ],
                        "expression": {
                          "expression": {
                            "id": 21067,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "10807:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21068,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10814:14:60",
                          "memberName": "QueryEvmReward",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37147,
                          "src": "10807:21:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                            "typeString": "type(Witnet.QueryEvmReward)"
                          }
                        },
                        "id": 21069,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "10829:6:60",
                        "memberName": "unwrap",
                        "nodeType": "MemberAccess",
                        "src": "10807:28:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                          "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                        }
                      },
                      "id": 21072,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10807:41:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint72",
                        "typeString": "uint72"
                      }
                    },
                    "src": "10794:54:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 21074,
                  "nodeType": "ExpressionStatement",
                  "src": "10794:54:60"
                },
                {
                  "expression": {
                    "id": 21083,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 21075,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21060,
                        "src": "10859:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      "id": 21077,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "10864:6:60",
                      "memberName": "reward",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18070,
                      "src": "10859:11:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                        "typeString": "Witnet.QueryEvmReward"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 21081,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10900:1:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "expression": {
                          "expression": {
                            "id": 21078,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "10873:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21079,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "10880:14:60",
                          "memberName": "QueryEvmReward",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37147,
                          "src": "10873:21:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                            "typeString": "type(Witnet.QueryEvmReward)"
                          }
                        },
                        "id": 21080,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "10895:4:60",
                        "memberName": "wrap",
                        "nodeType": "MemberAccess",
                        "src": "10873:26:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_wrap_pure$_t_uint72_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                          "typeString": "function (uint72) pure returns (Witnet.QueryEvmReward)"
                        }
                      },
                      "id": 21082,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10873:29:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                        "typeString": "Witnet.QueryEvmReward"
                      }
                    },
                    "src": "10859:43:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                      "typeString": "Witnet.QueryEvmReward"
                    }
                  },
                  "id": 21084,
                  "nodeType": "ExpressionStatement",
                  "src": "10859:43:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 21088,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21086,
                          "name": "_evmReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21054,
                          "src": "10976:10:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 21087,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10989:1:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "10976:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "616c726561647920636c61696d6564",
                        "id": 21089,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11005:17:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_35ab08c51d3c5f6dce9e2f229c8cce621755785a49ae5048c5948e3805dfc55b",
                          "typeString": "literal_string \"already claimed\""
                        },
                        "value": "already claimed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_35ab08c51d3c5f6dce9e2f229c8cce621755785a49ae5048c5948e3805dfc55b",
                          "typeString": "literal_string \"already claimed\""
                        }
                      ],
                      "id": 21085,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "10954:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21090,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10954:79:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21091,
                  "nodeType": "ExpressionStatement",
                  "src": "10954:79:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 21093,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "11159:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 21094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11163:6:60",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "11159:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 21095,
                        "name": "_evmReward",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21054,
                        "src": "11184:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21092,
                      "name": "deposit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20370,
                      "src": "11137:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 21096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11137:68:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21097,
                  "nodeType": "ExpressionStatement",
                  "src": "11137:68:60"
                },
                {
                  "assignments": [
                    21102
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21102,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "11237:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21203,
                      "src": "11218:31:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "typeName": {
                        "id": 21101,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21100,
                          "name": "Witnet.QueryStatus",
                          "nameLocations": [
                            "11218:6:60",
                            "11225:11:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37335,
                          "src": "11218:18:60"
                        },
                        "referencedDeclaration": 37335,
                        "src": "11218:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21107,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21104,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21060,
                        "src": "11292:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 21105,
                        "name": "evmQueryAwaitingBlocks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21049,
                        "src": "11311:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21103,
                      "name": "getQueryStatusTrustlessly",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21044,
                      "src": "11252:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 21106,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11252:92:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11218:126:60"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    },
                    "id": 21112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 21108,
                      "name": "_queryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21102,
                      "src": "11359:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 21109,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 40741,
                          "src": "11375:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 21110,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11382:11:60",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37335,
                        "src": "11375:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                          "typeString": "type(enum Witnet.QueryStatus)"
                        }
                      },
                      "id": 21111,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "11394:9:60",
                      "memberName": "Finalized",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37331,
                      "src": "11375:28:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "src": "11359:44:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "id": 21134,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 21130,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21102,
                        "src": "11823:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 21131,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "11839:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21132,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11846:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "11839:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 21133,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "11858:7:60",
                        "memberName": "Expired",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37333,
                        "src": "11839:26:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "src": "11823:42:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 21200,
                      "nodeType": "Block",
                      "src": "12900:177:60",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "696e76616c6964207175657279207374617475733a20",
                                        "id": 21191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "12964:24:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        "value": "invalid query status: "
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 21194,
                                            "name": "_queryStatus",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21102,
                                            "src": "13035:12:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          ],
                                          "expression": {
                                            "id": 21192,
                                            "name": "WitOracleDataLib",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 20110,
                                            "src": "13007:16:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                              "typeString": "type(library WitOracleDataLib)"
                                            }
                                          },
                                          "id": 21193,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "13024:10:60",
                                          "memberName": "intoString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18560,
                                          "src": "13007:27:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_enum$_QueryStatus_$37335_$returns$_t_string_memory_ptr_$",
                                            "typeString": "function (enum Witnet.QueryStatus) pure returns (string memory)"
                                          }
                                        },
                                        "id": 21195,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13007:41:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 21189,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "12929:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 21190,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "12933:12:60",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "12929:16:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 21196,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "12929:134:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 21188,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "12922:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                    "typeString": "type(string storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 21187,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "12922:6:60",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21197,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12922:142:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 21186,
                              "name": "revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4294967277,
                                4294967277
                              ],
                              "referencedDeclaration": 4294967277,
                              "src": "12915:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) pure"
                              }
                            },
                            "id": 21198,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12915:150:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 21199,
                          "nodeType": "ExpressionStatement",
                          "src": "12915:150:60"
                        }
                      ]
                    },
                    "id": 21201,
                    "nodeType": "IfStatement",
                    "src": "11819:1258:60",
                    "trueBody": {
                      "id": 21185,
                      "nodeType": "Block",
                      "src": "11867:1027:60",
                      "statements": [
                        {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "id": 21142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "id": 21135,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21060,
                                  "src": "11886:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                  }
                                },
                                "id": 21136,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11891:8:60",
                                "memberName": "response",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18061,
                                "src": "11886:13:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                  "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                }
                              },
                              "id": 21137,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11900:8:60",
                              "memberName": "disputer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 18099,
                              "src": "11886:22:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 21140,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11920:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 21139,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "11912:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 21138,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "11912:7:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21141,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11912:10:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "11886:36:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "id": 21183,
                            "nodeType": "Block",
                            "src": "12669:214:60",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "id": 21179,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "expression": {
                                          "id": 21174,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967281,
                                          "src": "12768:3:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 21175,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12772:6:60",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "12768:10:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 21176,
                                            "name": "self",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21060,
                                            "src": "12782:4:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                                            }
                                          },
                                          "id": 21177,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "12787:7:60",
                                          "memberName": "request",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18058,
                                          "src": "12782:12:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                            "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                          }
                                        },
                                        "id": 21178,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12795:9:60",
                                        "memberName": "requester",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 18076,
                                        "src": "12782:22:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "src": "12768:36:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    {
                                      "hexValue": "6e6f742074686520726571756573746572",
                                      "id": 21180,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "12827:19:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                                        "typeString": "literal_string \"not the requester\""
                                      },
                                      "value": "not the requester"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                                        "typeString": "literal_string \"not the requester\""
                                      }
                                    ],
                                    "id": 21173,
                                    "name": "require",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      4294967278,
                                      4294967278,
                                      4294967278
                                    ],
                                    "referencedDeclaration": 4294967278,
                                    "src": "12738:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                      "typeString": "function (bool,string memory) pure"
                                    }
                                  },
                                  "id": 21181,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "12738:127:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 21182,
                                "nodeType": "ExpressionStatement",
                                "src": "12738:127:60"
                              }
                            ]
                          },
                          "id": 21184,
                          "nodeType": "IfStatement",
                          "src": "11882:1001:60",
                          "trueBody": {
                            "id": 21172,
                            "nodeType": "Block",
                            "src": "11924:739:60",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "id": 21149,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "expression": {
                                          "id": 21144,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967281,
                                          "src": "12022:3:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 21145,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12026:6:60",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "12022:10:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 21146,
                                            "name": "self",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21060,
                                            "src": "12036:4:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                                            }
                                          },
                                          "id": 21147,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "12041:8:60",
                                          "memberName": "response",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18061,
                                          "src": "12036:13:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                            "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                          }
                                        },
                                        "id": 21148,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12050:8:60",
                                        "memberName": "disputer",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 18099,
                                        "src": "12036:22:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "src": "12022:36:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    {
                                      "hexValue": "6e6f7420746865206469737075746572",
                                      "id": 21150,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "12081:18:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_d285be098162e22a15cc3e3fee4099ba3acd4047ac179f34dc9773de76e8ba76",
                                        "typeString": "literal_string \"not the disputer\""
                                      },
                                      "value": "not the disputer"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_d285be098162e22a15cc3e3fee4099ba3acd4047ac179f34dc9773de76e8ba76",
                                        "typeString": "literal_string \"not the disputer\""
                                      }
                                    ],
                                    "id": 21143,
                                    "name": "require",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      4294967278,
                                      4294967278,
                                      4294967278
                                    ],
                                    "referencedDeclaration": 4294967278,
                                    "src": "11992:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                      "typeString": "function (bool,string memory) pure"
                                    }
                                  },
                                  "id": 21151,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11992:126:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 21152,
                                "nodeType": "ExpressionStatement",
                                "src": "11992:126:60"
                              },
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "expression": {
                                          "id": 21154,
                                          "name": "self",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 21060,
                                          "src": "12217:4:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                          }
                                        },
                                        "id": 21155,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12222:8:60",
                                        "memberName": "response",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 18061,
                                        "src": "12217:13:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                        }
                                      },
                                      "id": 21156,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "12231:8:60",
                                      "memberName": "reporter",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18089,
                                      "src": "12217:22:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "id": 21157,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967281,
                                        "src": "12262:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 21158,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "12266:6:60",
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "src": "12262:10:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "id": 21159,
                                      "name": "evmQueryReportingStake",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21051,
                                      "src": "12296:22:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 21153,
                                    "name": "slash",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20482,
                                    "src": "12189:5:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (address,address,uint256)"
                                    }
                                  },
                                  "id": 21160,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "12189:148:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 21161,
                                "nodeType": "ExpressionStatement",
                                "src": "12189:148:60"
                              },
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 21163,
                                        "name": "msg",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967281,
                                        "src": "12440:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_message",
                                          "typeString": "msg"
                                        }
                                      },
                                      "id": 21164,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "12444:6:60",
                                      "memberName": "sender",
                                      "nodeType": "MemberAccess",
                                      "src": "12440:10:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "id": 21165,
                                      "name": "evmQueryReportingStake",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21051,
                                      "src": "12473:22:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 21162,
                                    "name": "unstake",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20528,
                                    "src": "12410:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (address,uint256)"
                                    }
                                  },
                                  "id": 21166,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "12410:104:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 21167,
                                "nodeType": "ExpressionStatement",
                                "src": "12410:104:60"
                              },
                              {
                                "expression": {
                                  "id": 21170,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "id": 21168,
                                    "name": "_evmReward",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21054,
                                    "src": "12609:10:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "+=",
                                  "rightHandSide": {
                                    "id": 21169,
                                    "name": "evmQueryReportingStake",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21051,
                                    "src": "12623:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "12609:36:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 21171,
                                "nodeType": "ExpressionStatement",
                                "src": "12609:36:60"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "id": 21202,
                  "nodeType": "IfStatement",
                  "src": "11355:1722:60",
                  "trueBody": {
                    "id": 21129,
                    "nodeType": "Block",
                    "src": "11405:408:60",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 21119,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 21114,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "11492:3:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 21115,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11496:6:60",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "11492:10:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 21116,
                                    "name": "self",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21060,
                                    "src": "11506:4:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 21117,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11511:7:60",
                                  "memberName": "request",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18058,
                                  "src": "11506:12:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryRequest_$18087_storage",
                                    "typeString": "struct WitOracleDataLib.QueryRequest storage ref"
                                  }
                                },
                                "id": 21118,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11519:9:60",
                                "memberName": "requester",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18076,
                                "src": "11506:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "11492:36:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "6e6f742074686520726571756573746572",
                              "id": 21120,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11547:19:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                                "typeString": "literal_string \"not the requester\""
                              },
                              "value": "not the requester"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_54a8984d6b3851bf52f7fdb98af230bb86396191e1aeefafdf00e9138213c4ef",
                                "typeString": "literal_string \"not the requester\""
                              }
                            ],
                            "id": 21113,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "11466:7:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 21121,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11466:115:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 21122,
                        "nodeType": "ExpressionStatement",
                        "src": "11466:115:60"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 21124,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967281,
                                "src": "11671:3:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 21125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11675:6:60",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "11671:10:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "id": 21126,
                              "name": "evmQueryReportingStake",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21051,
                              "src": "11701:22:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 21123,
                            "name": "unstake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20528,
                            "src": "11645:7:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                              "typeString": "function (address,uint256)"
                            }
                          },
                          "id": 21127,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11645:93:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 21128,
                        "nodeType": "ExpressionStatement",
                        "src": "11645:93:60"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 21045,
              "nodeType": "StructuredDocumentation",
              "src": "10304:167:60",
              "text": "=======================================================================\n --- IWitOracleQueriableTrustlessReporter ---------------------------------------"
            },
            "functionSelector": "55caae04",
            "id": 21204,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "claimQueryReward",
            "nameLocation": "10486:16:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21047,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "10525:7:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21204,
                  "src": "10517:15:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21046,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10517:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21049,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "10555:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21204,
                  "src": "10547:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21048,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10547:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21051,
                  "mutability": "mutable",
                  "name": "evmQueryReportingStake",
                  "nameLocation": "10600:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21204,
                  "src": "10592:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21050,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10592:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10502:131:60"
            },
            "returnParameters": {
              "id": 21055,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21054,
                  "mutability": "mutable",
                  "name": "_evmReward",
                  "nameLocation": "10668:10:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21204,
                  "src": "10660:18:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21053,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10660:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10659:20:60"
            },
            "scope": 22249,
            "src": "10477:2607:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21293,
              "nodeType": "Block",
              "src": "13312:815:60",
              "statements": [
                {
                  "assignments": [
                    21219
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21219,
                      "mutability": "mutable",
                      "name": "self",
                      "nameLocation": "13354:4:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21293,
                      "src": "13323:35:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 21218,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21217,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "13323:16:60",
                            "13340:5:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "13323:22:60"
                        },
                        "referencedDeclaration": 18074,
                        "src": "13323:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21224,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21222,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21206,
                        "src": "13388:7:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 21220,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "13361:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 21221,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13378:9:60",
                      "memberName": "seekQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18181,
                      "src": "13361:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                      }
                    },
                    "id": 21223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13361:35:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13323:73:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        "id": 21233,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 21227,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21219,
                              "src": "13473:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                              }
                            },
                            {
                              "id": 21228,
                              "name": "evmQueryAwaitingBlocks",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21208,
                              "src": "13496:22:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 21226,
                            "name": "getQueryStatusTrustlessly",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21044,
                            "src": "13429:25:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                              "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                            }
                          },
                          "id": 21229,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13429:104:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 21230,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "13537:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21231,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13544:11:60",
                            "memberName": "QueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37335,
                            "src": "13537:18:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                              "typeString": "type(enum Witnet.QueryStatus)"
                            }
                          },
                          "id": 21232,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13556:8:60",
                          "memberName": "Reported",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37330,
                          "src": "13537:27:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "src": "13429:135:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f7420696e205265706f7274656420737461747573",
                        "id": 21234,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13566:24:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ceb3611326ed6e8350a8da4ee52174f60253d2126408fc371fc7f35e3685dbc5",
                          "typeString": "literal_string \"not in Reported status\""
                        },
                        "value": "not in Reported status"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ceb3611326ed6e8350a8da4ee52174f60253d2126408fc371fc7f35e3685dbc5",
                          "typeString": "literal_string \"not in Reported status\""
                        }
                      ],
                      "id": 21225,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "13407:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21235,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13407:194:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21236,
                  "nodeType": "ExpressionStatement",
                  "src": "13407:194:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 21238,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "13632:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 21239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13636:6:60",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "13632:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 21240,
                        "name": "evmQueryReportingStake",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21210,
                        "src": "13658:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21237,
                      "name": "stake",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20416,
                      "src": "13612:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 21241,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13612:79:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21242,
                  "nodeType": "ExpressionStatement",
                  "src": "13612:79:60"
                },
                {
                  "expression": {
                    "id": 21257,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 21243,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21219,
                        "src": "13702:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      "id": 21245,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13707:10:60",
                      "memberName": "checkpoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18073,
                      "src": "13702:15:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                        "typeString": "Witnet.BlockNumber"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21254,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 21251,
                                  "name": "block",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967292,
                                  "src": "13751:5:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_block",
                                    "typeString": "block"
                                  }
                                },
                                "id": 21252,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "13757:6:60",
                                "memberName": "number",
                                "nodeType": "MemberAccess",
                                "src": "13751:12:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "id": 21253,
                                "name": "evmQueryAwaitingBlocks",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21208,
                                "src": "13766:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "13751:37:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 21250,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "13744:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint64_$",
                              "typeString": "type(uint64)"
                            },
                            "typeName": {
                              "id": 21249,
                              "name": "uint64",
                              "nodeType": "ElementaryTypeName",
                              "src": "13744:6:60",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 21255,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13744:45:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        ],
                        "expression": {
                          "expression": {
                            "id": 21246,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "13720:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21247,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13727:11:60",
                          "memberName": "BlockNumber",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37145,
                          "src": "13720:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                            "typeString": "type(Witnet.BlockNumber)"
                          }
                        },
                        "id": 21248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "13739:4:60",
                        "memberName": "wrap",
                        "nodeType": "MemberAccess",
                        "src": "13720:23:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_BlockNumber_$37145_$",
                          "typeString": "function (uint64) pure returns (Witnet.BlockNumber)"
                        }
                      },
                      "id": 21256,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13720:70:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                        "typeString": "Witnet.BlockNumber"
                      }
                    },
                    "src": "13702:88:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                      "typeString": "Witnet.BlockNumber"
                    }
                  },
                  "id": 21258,
                  "nodeType": "ExpressionStatement",
                  "src": "13702:88:60"
                },
                {
                  "expression": {
                    "id": 21266,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "expression": {
                          "id": 21259,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21219,
                          "src": "13801:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                          }
                        },
                        "id": 21262,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13806:8:60",
                        "memberName": "response",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18061,
                        "src": "13801:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                        }
                      },
                      "id": 21263,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13815:8:60",
                      "memberName": "disputer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18099,
                      "src": "13801:22:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 21264,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967281,
                        "src": "13826:3:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 21265,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13830:6:60",
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "src": "13826:10:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "13801:35:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 21267,
                  "nodeType": "ExpressionStatement",
                  "src": "13801:35:60"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 21276,
                                "name": "queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21206,
                                "src": "13947:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 21275,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "13940:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21274,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "13940:6:60",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21277,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13940:15:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 21271,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "13920:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21272,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13927:7:60",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "13920:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 21273,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13935:4:60",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "13920:19:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_QueryId_$37151_$",
                            "typeString": "function (uint64) pure returns (Witnet.QueryId)"
                          }
                        },
                        "id": 21278,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13920:36:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        }
                      },
                      {
                        "expression": {
                          "id": 21279,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "13971:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 21280,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13975:6:60",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "13971:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                          "typeString": "Witnet.QueryId"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 21268,
                        "name": "IWitOracleQueriableEvents",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26892,
                        "src": "13852:25:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleQueriableEvents_$26892_$",
                          "typeString": "type(contract IWitOracleQueriableEvents)"
                        }
                      },
                      "id": 21270,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13878:27:60",
                      "memberName": "WitOracleQueryReportDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26863,
                      "src": "13852:53:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_userDefinedValueType$_QueryId_$37151_$_t_address_$returns$__$",
                        "typeString": "function (Witnet.QueryId,address)"
                      }
                    },
                    "id": 21281,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13852:140:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21282,
                  "nodeType": "EmitStatement",
                  "src": "13847:145:60"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 21290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "expression": {
                                "id": 21286,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21219,
                                "src": "14054:4:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                  "typeString": "struct WitOracleDataLib.Query storage pointer"
                                }
                              },
                              "id": 21287,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14059:6:60",
                              "memberName": "reward",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 18070,
                              "src": "14054:11:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 21283,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "14025:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21284,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14032:14:60",
                              "memberName": "QueryEvmReward",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37147,
                              "src": "14025:21:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                "typeString": "type(Witnet.QueryEvmReward)"
                              }
                            },
                            "id": 21285,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "14047:6:60",
                            "memberName": "unwrap",
                            "nodeType": "MemberAccess",
                            "src": "14025:28:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                              "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                            }
                          },
                          "id": 21288,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14025:41:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint72",
                            "typeString": "uint72"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "id": 21289,
                          "name": "evmQueryReportingStake",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21210,
                          "src": "14086:22:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "14025:83:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "id": 21291,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "14010:109:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 21214,
                  "id": 21292,
                  "nodeType": "Return",
                  "src": "14003:116:60"
                }
              ]
            },
            "functionSelector": "53866908",
            "id": 21294,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "disputeQueryResponse",
            "nameLocation": "13101:20:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21206,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "13144:7:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21294,
                  "src": "13136:15:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21205,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13136:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21208,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "13174:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21294,
                  "src": "13166:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21207,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13166:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21210,
                  "mutability": "mutable",
                  "name": "evmQueryReportingStake",
                  "nameLocation": "13219:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21294,
                  "src": "13211:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21209,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13211:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13121:131:60"
            },
            "returnParameters": {
              "id": 21214,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21213,
                  "mutability": "mutable",
                  "name": "evmPotentialReward",
                  "nameLocation": "13286:18:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21294,
                  "src": "13278:26:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21212,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13278:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13277:28:60"
            },
            "scope": 22249,
            "src": "13092:1035:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21452,
              "nodeType": "Block",
              "src": "14671:1595:60",
              "statements": [
                {
                  "assignments": [
                    21325
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21325,
                      "mutability": "mutable",
                      "name": "self",
                      "nameLocation": "14713:4:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21452,
                      "src": "14682:35:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 21324,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21323,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "14682:16:60",
                            "14699:5:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "14682:22:60"
                        },
                        "referencedDeclaration": 18074,
                        "src": "14682:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21335,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21331,
                              "name": "responseReport",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21297,
                              "src": "14769:14:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                "typeString": "struct Witnet.DataPullReport calldata"
                              }
                            },
                            "id": 21332,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14784:7:60",
                            "memberName": "queryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37245,
                            "src": "14769:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 21328,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "14747:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21329,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14754:7:60",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "14747:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 21330,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14762:6:60",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "14747:21:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                          }
                        },
                        "id": 21333,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14747:45:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 21326,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "14720:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 21327,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14737:9:60",
                      "memberName": "seekQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18181,
                      "src": "14720:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                      }
                    },
                    "id": 21334,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14720:73:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14682:111:60"
                },
                {
                  "assignments": [
                    21337,
                    21339
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21337,
                      "mutability": "mutable",
                      "name": "_isValidReport",
                      "nameLocation": "14810:14:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21452,
                      "src": "14805:19:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 21336,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "14805:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 21339,
                      "mutability": "mutable",
                      "name": "_queryResponseReportInvalidError",
                      "nameLocation": "14840:32:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21452,
                      "src": "14826:46:60",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 21338,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "14826:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21344,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21341,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21325,
                        "src": "14913:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 21342,
                        "name": "responseReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21297,
                        "src": "14932:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      ],
                      "id": 21340,
                      "name": "_isValidDataPullReport",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22149,
                      "src": "14876:22:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_struct$_DataPullReport_$37259_calldata_ptr_$returns$_t_bool_$_t_string_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,struct Witnet.DataPullReport calldata) view returns (bool,string memory)"
                      }
                    },
                    "id": 21343,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14876:81:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_string_memory_ptr_$",
                      "typeString": "tuple(bool,string memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14804:153:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 21346,
                        "name": "_isValidReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21337,
                        "src": "14990:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "id": 21347,
                        "name": "_queryResponseReportInvalidError",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21339,
                        "src": "15019:32:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 21345,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "14968:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21348,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14968:94:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21349,
                  "nodeType": "ExpressionStatement",
                  "src": "14968:94:60"
                },
                {
                  "assignments": [
                    21354
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21354,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "15102:12:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21452,
                      "src": "15083:31:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "typeName": {
                        "id": 21353,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21352,
                          "name": "Witnet.QueryStatus",
                          "nameLocations": [
                            "15083:6:60",
                            "15090:11:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37335,
                          "src": "15083:18:60"
                        },
                        "referencedDeclaration": 37335,
                        "src": "15083:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21359,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21356,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21325,
                        "src": "15143:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 21357,
                        "name": "evmQueryAwaitingBlocks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21299,
                        "src": "15149:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21355,
                      "name": "getQueryStatusTrustlessly",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21044,
                      "src": "15117:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                      }
                    },
                    "id": 21358,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15117:55:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15083:89:60"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    },
                    "id": 21364,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 21360,
                      "name": "_queryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21354,
                      "src": "15187:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 21361,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 40741,
                          "src": "15203:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 21362,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "15210:11:60",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37335,
                        "src": "15203:18:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                          "typeString": "type(enum Witnet.QueryStatus)"
                        }
                      },
                      "id": 21363,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "15222:6:60",
                      "memberName": "Posted",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37329,
                      "src": "15203:25:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      }
                    },
                    "src": "15187:41:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$37335",
                        "typeString": "enum Witnet.QueryStatus"
                      },
                      "id": 21384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 21380,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21354,
                        "src": "15452:12:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 21381,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "15468:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "15475:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "15468:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 21383,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "15487:7:60",
                        "memberName": "Delayed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37332,
                        "src": "15468:26:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "src": "15452:42:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 21405,
                      "nodeType": "Block",
                      "src": "15564:177:60",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "696e76616c6964207175657279207374617475733a20",
                                        "id": 21396,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "15628:24:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        "value": "invalid query status: "
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 21399,
                                            "name": "_queryStatus",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21354,
                                            "src": "15699:12:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                              "typeString": "enum Witnet.QueryStatus"
                                            }
                                          ],
                                          "expression": {
                                            "id": 21397,
                                            "name": "WitOracleDataLib",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 20110,
                                            "src": "15671:16:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                              "typeString": "type(library WitOracleDataLib)"
                                            }
                                          },
                                          "id": 21398,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "15688:10:60",
                                          "memberName": "intoString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 18560,
                                          "src": "15671:27:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_enum$_QueryStatus_$37335_$returns$_t_string_memory_ptr_$",
                                            "typeString": "function (enum Witnet.QueryStatus) pure returns (string memory)"
                                          }
                                        },
                                        "id": 21400,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15671:41:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                          "typeString": "literal_string \"invalid query status: \""
                                        },
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 21394,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "15593:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 21395,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "15597:12:60",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "15593:16:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 21401,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15593:134:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 21393,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "15586:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                    "typeString": "type(string storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 21392,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "15586:6:60",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21402,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15586:142:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 21391,
                              "name": "revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4294967277,
                                4294967277
                              ],
                              "referencedDeclaration": 4294967277,
                              "src": "15579:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) pure"
                              }
                            },
                            "id": 21403,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15579:150:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 21404,
                          "nodeType": "ExpressionStatement",
                          "src": "15579:150:60"
                        }
                      ]
                    },
                    "id": 21406,
                    "nodeType": "IfStatement",
                    "src": "15448:293:60",
                    "trueBody": {
                      "id": 21390,
                      "nodeType": "Block",
                      "src": "15496:62:60",
                      "statements": [
                        {
                          "expression": {
                            "id": 21388,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 21385,
                              "name": "_evmReporter",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21304,
                              "src": "15511:12:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "expression": {
                                "id": 21386,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967281,
                                "src": "15526:3:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 21387,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15530:6:60",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "15526:10:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "15511:25:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 21389,
                          "nodeType": "ExpressionStatement",
                          "src": "15511:25:60"
                        }
                      ]
                    }
                  },
                  "id": 21407,
                  "nodeType": "IfStatement",
                  "src": "15183:558:60",
                  "trueBody": {
                    "id": 21379,
                    "nodeType": "Block",
                    "src": "15230:201:60",
                    "statements": [
                      {
                        "expression": {
                          "id": 21369,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 21365,
                            "name": "_evmReporter",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21304,
                            "src": "15245:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 21366,
                                "name": "responseReport",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21297,
                                "src": "15260:14:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                  "typeString": "struct Witnet.DataPullReport calldata"
                                }
                              },
                              "id": 21367,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15275:12:60",
                              "memberName": "queryRelayer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 38130,
                              "src": "15260:27:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_DataPullReport_$37259_calldata_ptr_$returns$_t_address_$attached_to$_t_struct$_DataPullReport_$37259_calldata_ptr_$",
                                "typeString": "function (struct Witnet.DataPullReport calldata) pure returns (address)"
                              }
                            },
                            "id": 21368,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15260:29:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "15245:44:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 21370,
                        "nodeType": "ExpressionStatement",
                        "src": "15245:44:60"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 21375,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 21372,
                                "name": "_evmReporter",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21304,
                                "src": "15330:12:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "id": 21373,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "15346:3:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 21374,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15350:6:60",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "15346:10:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "15330:26:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "756e617574686f72697a6564207175657279207265706f72746572",
                              "id": 21376,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15375:29:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_25c1b05ad606754ebedea8c707fd3ca00a280785cfb74e4d5d3656f93c1005d2",
                                "typeString": "literal_string \"unauthorized query reporter\""
                              },
                              "value": "unauthorized query reporter"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_25c1b05ad606754ebedea8c707fd3ca00a280785cfb74e4d5d3656f93c1005d2",
                                "typeString": "literal_string \"unauthorized query reporter\""
                              }
                            ],
                            "id": 21371,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "15304:7:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 21377,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15304:115:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 21378,
                        "nodeType": "ExpressionStatement",
                        "src": "15304:115:60"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 21409,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "15800:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 21410,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "15804:6:60",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "15800:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 21411,
                        "name": "evmQueryReportingStake",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21301,
                        "src": "15812:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21408,
                      "name": "stake",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20416,
                      "src": "15794:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 21412,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15794:41:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21413,
                  "nodeType": "ExpressionStatement",
                  "src": "15794:41:60"
                },
                {
                  "expression": {
                    "id": 21417,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21414,
                      "name": "_evmGasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21306,
                      "src": "15894:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 21415,
                        "name": "tx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967270,
                        "src": "15909:2:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_transaction",
                          "typeString": "tx"
                        }
                      },
                      "id": 21416,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15912:8:60",
                      "memberName": "gasprice",
                      "nodeType": "MemberAccess",
                      "src": "15909:11:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "15894:26:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 21418,
                  "nodeType": "ExpressionStatement",
                  "src": "15894:26:60"
                },
                {
                  "expression": {
                    "id": 21427,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21419,
                      "name": "_evmFinalityBlock",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21308,
                      "src": "15931:17:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 21425,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 21422,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "15958:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 21423,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15964:6:60",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "15958:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "id": 21424,
                            "name": "evmQueryAwaitingBlocks",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21299,
                            "src": "15973:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "15958:37:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 21421,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15951:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint64_$",
                          "typeString": "type(uint64)"
                        },
                        "typeName": {
                          "id": 21420,
                          "name": "uint64",
                          "nodeType": "ElementaryTypeName",
                          "src": "15951:6:60",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 21426,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15951:45:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "src": "15931:65:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "id": 21428,
                  "nodeType": "ExpressionStatement",
                  "src": "15931:65:60"
                },
                {
                  "expression": {
                    "id": 21432,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21429,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21311,
                      "src": "16007:8:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                        "typeString": "Witnet.QueryId"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 21430,
                        "name": "responseReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21297,
                        "src": "16018:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      },
                      "id": 21431,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16033:7:60",
                      "memberName": "queryId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37245,
                      "src": "16018:22:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                        "typeString": "Witnet.QueryId"
                      }
                    },
                    "src": "16007:33:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "id": 21433,
                  "nodeType": "ExpressionStatement",
                  "src": "16007:33:60"
                },
                {
                  "expression": {
                    "id": 21440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21434,
                      "name": "_witDrTxTimestamp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21314,
                      "src": "16051:17:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                        "typeString": "Witnet.Timestamp"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 21437,
                            "name": "responseReport",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21297,
                            "src": "16106:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                              "typeString": "struct Witnet.DataPullReport calldata"
                            }
                          },
                          "id": 21438,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16121:16:60",
                          "memberName": "witDrResultEpoch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37253,
                          "src": "16106:31:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                            "typeString": "Witnet.BlockNumber"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                            "typeString": "Witnet.BlockNumber"
                          }
                        ],
                        "expression": {
                          "id": 21435,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 40741,
                          "src": "16071:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 21436,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16078:27:60",
                        "memberName": "determineTimestampFromEpoch",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 40255,
                        "src": "16071:34:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                          "typeString": "function (Witnet.BlockNumber) pure returns (Witnet.Timestamp)"
                        }
                      },
                      "id": 21439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16071:67:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                        "typeString": "Witnet.Timestamp"
                      }
                    },
                    "src": "16051:87:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "id": 21441,
                  "nodeType": "ExpressionStatement",
                  "src": "16051:87:60"
                },
                {
                  "expression": {
                    "id": 21445,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21442,
                      "name": "_witDrTxHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21317,
                      "src": "16149:12:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                        "typeString": "Witnet.TransactionHash"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 21443,
                        "name": "responseReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21297,
                        "src": "16164:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      },
                      "id": 21444,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16179:11:60",
                      "memberName": "witDrTxHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37258,
                      "src": "16164:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                        "typeString": "Witnet.TransactionHash"
                      }
                    },
                    "src": "16149:41:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "id": 21446,
                  "nodeType": "ExpressionStatement",
                  "src": "16149:41:60"
                },
                {
                  "expression": {
                    "id": 21450,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21447,
                      "name": "_witResultCborBytes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21319,
                      "src": "16201:19:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 21448,
                        "name": "responseReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21297,
                        "src": "16223:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      },
                      "id": 21449,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16238:20:60",
                      "memberName": "witDrResultCborBytes",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 37255,
                      "src": "16223:35:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_calldata_ptr",
                        "typeString": "bytes calldata"
                      }
                    },
                    "src": "16201:57:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 21451,
                  "nodeType": "ExpressionStatement",
                  "src": "16201:57:60"
                }
              ]
            },
            "functionSelector": "653ac7bc",
            "id": 21453,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "reportQueryResponseTrustlessly",
            "nameLocation": "14144:30:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21297,
                  "mutability": "mutable",
                  "name": "responseReport",
                  "nameLocation": "14220:14:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14189:45:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                    "typeString": "struct Witnet.DataPullReport"
                  },
                  "typeName": {
                    "id": 21296,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21295,
                      "name": "Witnet.DataPullReport",
                      "nameLocations": [
                        "14189:6:60",
                        "14196:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37259,
                      "src": "14189:21:60"
                    },
                    "referencedDeclaration": 37259,
                    "src": "14189:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPullReport_$37259_storage_ptr",
                      "typeString": "struct Witnet.DataPullReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21299,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "14257:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14249:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21298,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14249:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21301,
                  "mutability": "mutable",
                  "name": "evmQueryReportingStake",
                  "nameLocation": "14302:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14294:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21300,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14294:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14174:161:60"
            },
            "returnParameters": {
              "id": 21320,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21304,
                  "mutability": "mutable",
                  "name": "_evmReporter",
                  "nameLocation": "14383:12:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14375:20:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 21303,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14375:7:60",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21306,
                  "mutability": "mutable",
                  "name": "_evmGasPrice",
                  "nameLocation": "14418:12:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14410:20:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21305,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14410:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21308,
                  "mutability": "mutable",
                  "name": "_evmFinalityBlock",
                  "nameLocation": "14453:17:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14445:25:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 21307,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "14445:6:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21311,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "14500:8:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14485:23:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                    "typeString": "Witnet.QueryId"
                  },
                  "typeName": {
                    "id": 21310,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21309,
                      "name": "Witnet.QueryId",
                      "nameLocations": [
                        "14485:6:60",
                        "14492:7:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37151,
                      "src": "14485:14:60"
                    },
                    "referencedDeclaration": 37151,
                    "src": "14485:14:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                      "typeString": "Witnet.QueryId"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21314,
                  "mutability": "mutable",
                  "name": "_witDrTxTimestamp",
                  "nameLocation": "14540:17:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14523:34:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  },
                  "typeName": {
                    "id": 21313,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21312,
                      "name": "Witnet.Timestamp",
                      "nameLocations": [
                        "14523:6:60",
                        "14530:9:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37157,
                      "src": "14523:16:60"
                    },
                    "referencedDeclaration": 37157,
                    "src": "14523:16:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                      "typeString": "Witnet.Timestamp"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21317,
                  "mutability": "mutable",
                  "name": "_witDrTxHash",
                  "nameLocation": "14595:12:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14572:35:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  },
                  "typeName": {
                    "id": 21316,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21315,
                      "name": "Witnet.TransactionHash",
                      "nameLocations": [
                        "14572:6:60",
                        "14579:15:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37159,
                      "src": "14572:22:60"
                    },
                    "referencedDeclaration": 37159,
                    "src": "14572:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                      "typeString": "Witnet.TransactionHash"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21319,
                  "mutability": "mutable",
                  "name": "_witResultCborBytes",
                  "nameLocation": "14635:19:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21453,
                  "src": "14622:32:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21318,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "14622:5:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14360:305:60"
            },
            "scope": 22249,
            "src": "14135:2131:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21787,
              "nodeType": "Block",
              "src": "16637:4790:60",
              "statements": [
                {
                  "assignments": [
                    21476
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21476,
                      "mutability": "mutable",
                      "name": "self",
                      "nameLocation": "16679:4:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21787,
                      "src": "16648:35:60",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                        "typeString": "struct WitOracleDataLib.Query"
                      },
                      "typeName": {
                        "id": 21475,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21474,
                          "name": "WitOracleDataLib.Query",
                          "nameLocations": [
                            "16648:16:60",
                            "16665:5:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 18074,
                          "src": "16648:22:60"
                        },
                        "referencedDeclaration": 18074,
                        "src": "16648:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21486,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21482,
                              "name": "responseReport",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21460,
                              "src": "16735:14:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                "typeString": "struct Witnet.DataPullReport calldata"
                              }
                            },
                            "id": 21483,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "16750:7:60",
                            "memberName": "queryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37245,
                            "src": "16735:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                              "typeString": "Witnet.QueryId"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 21479,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "16713:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21480,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "16720:7:60",
                            "memberName": "QueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37151,
                            "src": "16713:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryId_$37151_$",
                              "typeString": "type(Witnet.QueryId)"
                            }
                          },
                          "id": 21481,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "16728:6:60",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "16713:21:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryId_$37151_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.QueryId) pure returns (uint64)"
                          }
                        },
                        "id": 21484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16713:45:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 21477,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "16686:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 21478,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16703:9:60",
                      "memberName": "seekQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18181,
                      "src": "16686:26:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$18074_storage_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitOracleDataLib.Query storage pointer)"
                      }
                    },
                    "id": 21485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16686:73:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16648:111:60"
                },
                {
                  "assignments": [
                    21488,
                    21490
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21488,
                      "mutability": "mutable",
                      "name": "_isValidReport",
                      "nameLocation": "16819:14:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21787,
                      "src": "16814:19:60",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 21487,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "16814:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 21490,
                      "mutability": "mutable",
                      "name": "_queryResponseReportInvalidError",
                      "nameLocation": "16849:32:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21787,
                      "src": "16835:46:60",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 21489,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "16835:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21495,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21492,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21476,
                        "src": "16922:4:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        }
                      },
                      {
                        "id": 21493,
                        "name": "responseReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21460,
                        "src": "16941:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                        },
                        {
                          "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                          "typeString": "struct Witnet.DataPullReport calldata"
                        }
                      ],
                      "id": 21491,
                      "name": "_isValidDataPullReport",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22149,
                      "src": "16885:22:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_struct$_DataPullReport_$37259_calldata_ptr_$returns$_t_bool_$_t_string_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.Query storage pointer,struct Witnet.DataPullReport calldata) view returns (bool,string memory)"
                      }
                    },
                    "id": 21494,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16885:81:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_string_memory_ptr_$",
                      "typeString": "tuple(bool,string memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16813:153:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 21497,
                        "name": "_isValidReport",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21488,
                        "src": "16985:14:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "id": 21498,
                        "name": "_queryResponseReportInvalidError",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21490,
                        "src": "17001:32:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 21496,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "16977:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21499,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16977:57:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21500,
                  "nodeType": "ExpressionStatement",
                  "src": "16977:57:60"
                },
                {
                  "assignments": [
                    21505
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21505,
                      "mutability": "mutable",
                      "name": "_witOracleHead",
                      "nameLocation": "17103:14:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21787,
                      "src": "17082:35:60",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon"
                      },
                      "typeName": {
                        "id": 21504,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21503,
                          "name": "Witnet.Beacon",
                          "nameLocations": [
                            "17082:6:60",
                            "17089:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37242,
                          "src": "17082:13:60"
                        },
                        "referencedDeclaration": 37242,
                        "src": "17082:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                          "typeString": "struct Witnet.Beacon"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21509,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21507,
                        "name": "witOracleRollup",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21457,
                        "src": "17134:15:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      ],
                      "id": 21506,
                      "name": "rollupBeacons",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20630,
                      "src": "17120:13:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr_$returns$_t_struct$_Beacon_$37242_memory_ptr_$",
                        "typeString": "function (struct Witnet.FastForward calldata[] calldata) returns (struct Witnet.Beacon memory)"
                      }
                    },
                    "id": 21508,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17120:30:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                      "typeString": "struct Witnet.Beacon memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17082:68:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 21520,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 21511,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21505,
                            "src": "17183:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 21512,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17198:5:60",
                          "memberName": "index",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37229,
                          "src": "17183:20:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          },
                          "id": 21519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21515,
                                  "name": "responseReport",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21460,
                                  "src": "17262:14:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                    "typeString": "struct Witnet.DataPullReport calldata"
                                  }
                                },
                                "id": 21516,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17277:16:60",
                                "memberName": "witDrResultEpoch",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37253,
                                "src": "17262:31:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                  "typeString": "Witnet.BlockNumber"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                  "typeString": "Witnet.BlockNumber"
                                }
                              ],
                              "expression": {
                                "id": 21513,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "17207:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21514,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "17214:29:60",
                              "memberName": "determineBeaconIndexFromEpoch",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 40133,
                              "src": "17207:36:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.BlockNumber) pure returns (uint64)"
                              }
                            },
                            "id": 21517,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17207:101:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 21518,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "17311:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "17207:105:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "src": "17183:129:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6d69736c656164696e67206865616420626561636f6e",
                        "id": 21521,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17314:24:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        },
                        "value": "misleading head beacon"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        }
                      ],
                      "id": 21510,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "17161:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21522,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17161:188:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21523,
                  "nodeType": "ExpressionStatement",
                  "src": "17161:188:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 21534,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 21525,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21505,
                            "src": "17418:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 21526,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17433:20:60",
                          "memberName": "ddrTalliesMerkleRoot",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37235,
                          "src": "17418:35:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 21529,
                              "name": "ddrTalliesMerkleTrie",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21463,
                              "src": "17493:20:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              }
                            },
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 21530,
                                  "name": "responseReport",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21460,
                                  "src": "17533:14:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                    "typeString": "struct Witnet.DataPullReport calldata"
                                  }
                                },
                                "id": 21531,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17548:9:60",
                                "memberName": "tallyHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 38155,
                                "src": "17533:24:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_DataPullReport_$37259_calldata_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_DataPullReport_$37259_calldata_ptr_$",
                                  "typeString": "function (struct Witnet.DataPullReport calldata) pure returns (bytes32)"
                                }
                              },
                              "id": 21532,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17533:26:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "id": 21527,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "17457:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21528,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17464:10:60",
                            "memberName": "merkleRoot",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 39383,
                            "src": "17457:17:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$",
                              "typeString": "function (bytes32[] calldata,bytes32) pure returns (bytes32)"
                            }
                          },
                          "id": 21533,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "17457:117:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "src": "17418:156:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c6964206d65726b6c652070726f6f66",
                        "id": 21535,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17576:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        },
                        "value": "invalid merkle proof"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        }
                      ],
                      "id": 21524,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "17396:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21536,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17396:213:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21537,
                  "nodeType": "ExpressionStatement",
                  "src": "17396:213:60"
                },
                {
                  "id": 21786,
                  "nodeType": "Block",
                  "src": "17704:3716:60",
                  "statements": [
                    {
                      "assignments": [
                        21542
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 21542,
                          "mutability": "mutable",
                          "name": "_queryStatus",
                          "nameLocation": "17742:12:60",
                          "nodeType": "VariableDeclaration",
                          "scope": 21786,
                          "src": "17723:31:60",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "typeName": {
                            "id": 21541,
                            "nodeType": "UserDefinedTypeName",
                            "pathNode": {
                              "id": 21540,
                              "name": "Witnet.QueryStatus",
                              "nameLocations": [
                                "17723:6:60",
                                "17730:11:60"
                              ],
                              "nodeType": "IdentifierPath",
                              "referencedDeclaration": 37335,
                              "src": "17723:18:60"
                            },
                            "referencedDeclaration": 37335,
                            "src": "17723:18:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 21547,
                      "initialValue": {
                        "arguments": [
                          {
                            "id": 21544,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21476,
                            "src": "17801:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          {
                            "id": 21545,
                            "name": "evmQueryAwaitingBlocks",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21465,
                            "src": "17824:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 21543,
                          "name": "getQueryStatusTrustlessly",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21044,
                          "src": "17757:25:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_Query_$18074_storage_ptr_$_t_uint256_$returns$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "function (struct WitOracleDataLib.Query storage pointer,uint256) view returns (enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 21546,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17757:104:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "17723:138:60"
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        "id": 21552,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21548,
                          "name": "_queryStatus",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21542,
                          "src": "17880:12:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 21549,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "17896:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21550,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17903:11:60",
                            "memberName": "QueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37335,
                            "src": "17896:18:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                              "typeString": "type(enum Witnet.QueryStatus)"
                            }
                          },
                          "id": 21551,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "17915:8:60",
                          "memberName": "Reported",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37330,
                          "src": "17896:27:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          }
                        },
                        "src": "17880:43:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$37335",
                            "typeString": "enum Witnet.QueryStatus"
                          },
                          "id": 21662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21658,
                            "name": "_queryStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21542,
                            "src": "19524:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 21659,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "19540:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21660,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "19547:11:60",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37335,
                              "src": "19540:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                                "typeString": "type(enum Witnet.QueryStatus)"
                              }
                            },
                            "id": 21661,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "19559:8:60",
                            "memberName": "Disputed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37334,
                            "src": "19540:27:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$37335",
                              "typeString": "enum Witnet.QueryStatus"
                            }
                          },
                          "src": "19524:43:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 21748,
                          "nodeType": "Block",
                          "src": "20830:197:60",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "696e76616c6964207175657279207374617475733a20",
                                            "id": 21739,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "20902:24:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                              "typeString": "literal_string \"invalid query status: \""
                                            },
                                            "value": "invalid query status: "
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "id": 21742,
                                                "name": "_queryStatus",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21542,
                                                "src": "20977:12:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                                  "typeString": "enum Witnet.QueryStatus"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_enum$_QueryStatus_$37335",
                                                  "typeString": "enum Witnet.QueryStatus"
                                                }
                                              ],
                                              "expression": {
                                                "id": 21740,
                                                "name": "WitOracleDataLib",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 20110,
                                                "src": "20949:16:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                                                  "typeString": "type(library WitOracleDataLib)"
                                                }
                                              },
                                              "id": 21741,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "20966:10:60",
                                              "memberName": "intoString",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 18560,
                                              "src": "20949:27:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_enum$_QueryStatus_$37335_$returns$_t_string_memory_ptr_$",
                                                "typeString": "function (enum Witnet.QueryStatus) pure returns (string memory)"
                                              }
                                            },
                                            "id": 21743,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "20949:41:60",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_stringliteral_68afdda45d235b4712618edf341d559b421ba34256f82bdfde4eb3b3f406ebf8",
                                              "typeString": "literal_string \"invalid query status: \""
                                            },
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          ],
                                          "expression": {
                                            "id": 21737,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "20863:3:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 21738,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "20867:12:60",
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "src": "20863:16:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 21744,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20863:146:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 21736,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "20856:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                        "typeString": "type(string storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 21735,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20856:6:60",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21745,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "20856:154:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 21734,
                                  "name": "revert",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    4294967277,
                                    4294967277
                                  ],
                                  "referencedDeclaration": 4294967277,
                                  "src": "20849:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (string memory) pure"
                                  }
                                },
                                "id": 21746,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "20849:162:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21747,
                              "nodeType": "ExpressionStatement",
                              "src": "20849:162:60"
                            }
                          ]
                        },
                        "id": 21749,
                        "nodeType": "IfStatement",
                        "src": "19520:1507:60",
                        "trueBody": {
                          "id": 21733,
                          "nodeType": "Block",
                          "src": "19569:1255:60",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    "id": 21696,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "expression": {
                                                "id": 21667,
                                                "name": "responseReport",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21460,
                                                "src": "19754:14:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                  "typeString": "struct Witnet.DataPullReport calldata"
                                                }
                                              },
                                              "id": 21668,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "19769:11:60",
                                              "memberName": "witDrTxHash",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 37258,
                                              "src": "19754:26:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                                "typeString": "Witnet.TransactionHash"
                                              }
                                            },
                                            {
                                              "expression": {
                                                "id": 21669,
                                                "name": "responseReport",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21460,
                                                "src": "19808:14:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                  "typeString": "struct Witnet.DataPullReport calldata"
                                                }
                                              },
                                              "id": 21670,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "19823:16:60",
                                              "memberName": "witDrResultEpoch",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 37253,
                                              "src": "19808:31:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                                "typeString": "Witnet.BlockNumber"
                                              }
                                            },
                                            {
                                              "expression": {
                                                "id": 21671,
                                                "name": "responseReport",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21460,
                                                "src": "19866:14:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                  "typeString": "struct Witnet.DataPullReport calldata"
                                                }
                                              },
                                              "id": 21672,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "19881:20:60",
                                              "memberName": "witDrResultCborBytes",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 37255,
                                              "src": "19866:35:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_calldata_ptr",
                                                "typeString": "bytes calldata"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                                "typeString": "Witnet.TransactionHash"
                                              },
                                              {
                                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                                "typeString": "Witnet.BlockNumber"
                                              },
                                              {
                                                "typeIdentifier": "t_bytes_calldata_ptr",
                                                "typeString": "bytes calldata"
                                              }
                                            ],
                                            "expression": {
                                              "id": 21665,
                                              "name": "abi",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967295,
                                              "src": "19717:3:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_abi",
                                                "typeString": "abi"
                                              }
                                            },
                                            "id": 21666,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberLocation": "19721:6:60",
                                            "memberName": "encode",
                                            "nodeType": "MemberAccess",
                                            "src": "19717:10:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                              "typeString": "function () pure returns (bytes memory)"
                                            }
                                          },
                                          "id": 21673,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "19717:207:60",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        ],
                                        "id": 21664,
                                        "name": "keccak256",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967288,
                                        "src": "19707:9:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                          "typeString": "function (bytes memory) pure returns (bytes32)"
                                        }
                                      },
                                      "id": 21674,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "19707:218:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "expression": {
                                                "expression": {
                                                  "id": 21678,
                                                  "name": "self",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 21476,
                                                  "src": "19976:4:60",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                  }
                                                },
                                                "id": 21679,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "19981:8:60",
                                                "memberName": "response",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 18061,
                                                "src": "19976:13:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                  "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                                }
                                              },
                                              "id": 21680,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "19990:14:60",
                                              "memberName": "resultDrTxHash",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 18095,
                                              "src": "19976:28:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                              }
                                            },
                                            {
                                              "arguments": [
                                                {
                                                  "arguments": [
                                                    {
                                                      "expression": {
                                                        "expression": {
                                                          "id": 21686,
                                                          "name": "self",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 21476,
                                                          "src": "20088:4:60",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                          }
                                                        },
                                                        "id": 21687,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberLocation": "20093:8:60",
                                                        "memberName": "response",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 18061,
                                                        "src": "20088:13:60",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                                        }
                                                      },
                                                      "id": 21688,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "20102:15:60",
                                                      "memberName": "resultTimestamp",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 18093,
                                                      "src": "20088:29:60",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint64",
                                                        "typeString": "uint64"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_uint64",
                                                        "typeString": "uint64"
                                                      }
                                                    ],
                                                    "expression": {
                                                      "expression": {
                                                        "id": 21683,
                                                        "name": "Witnet",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 40741,
                                                        "src": "20066:6:60",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                          "typeString": "type(library Witnet)"
                                                        }
                                                      },
                                                      "id": 21684,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "20073:9:60",
                                                      "memberName": "Timestamp",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 37157,
                                                      "src": "20066:16:60",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                                        "typeString": "type(Witnet.Timestamp)"
                                                      }
                                                    },
                                                    "id": 21685,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberLocation": "20083:4:60",
                                                    "memberName": "wrap",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20066:21:60",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                                                      "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                                                    }
                                                  },
                                                  "id": 21689,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "functionCall",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "20066:52:60",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                                    "typeString": "Witnet.Timestamp"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                                    "typeString": "Witnet.Timestamp"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 21681,
                                                  "name": "Witnet",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 40741,
                                                  "src": "20031:6:60",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                    "typeString": "type(library Witnet)"
                                                  }
                                                },
                                                "id": 21682,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "20038:27:60",
                                                "memberName": "determineEpochFromTimestamp",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 40208,
                                                "src": "20031:34:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                                  "typeString": "function (Witnet.Timestamp) pure returns (Witnet.BlockNumber)"
                                                }
                                              },
                                              "id": 21690,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "20031:88:60",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                                "typeString": "Witnet.BlockNumber"
                                              }
                                            },
                                            {
                                              "expression": {
                                                "expression": {
                                                  "id": 21691,
                                                  "name": "self",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 21476,
                                                  "src": "20146:4:60",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                  }
                                                },
                                                "id": 21692,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "20151:8:60",
                                                "memberName": "response",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 18061,
                                                "src": "20146:13:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                  "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                                }
                                              },
                                              "id": 21693,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "20160:15:60",
                                              "memberName": "resultCborBytes",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 18097,
                                              "src": "20146:29:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                              },
                                              {
                                                "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                                "typeString": "Witnet.BlockNumber"
                                              },
                                              {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                              }
                                            ],
                                            "expression": {
                                              "id": 21676,
                                              "name": "abi",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967295,
                                              "src": "19939:3:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_abi",
                                                "typeString": "abi"
                                              }
                                            },
                                            "id": 21677,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberLocation": "19943:6:60",
                                            "memberName": "encode",
                                            "nodeType": "MemberAccess",
                                            "src": "19939:10:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                              "typeString": "function () pure returns (bytes memory)"
                                            }
                                          },
                                          "id": 21694,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "19939:259:60",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        ],
                                        "id": 21675,
                                        "name": "keccak256",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967288,
                                        "src": "19929:9:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                          "typeString": "function (bytes memory) pure returns (bytes32)"
                                        }
                                      },
                                      "id": 21695,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "19929:270:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "src": "19707:492:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "hexValue": "70726f76696e672064697370757465642066616b65207265706f7274",
                                    "id": 21697,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "20222:30:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_c57b0850c73f4c2916e4682c7a87668d231d8f5dd2bd28b2a62627d190ff0d28",
                                      "typeString": "literal_string \"proving disputed fake report\""
                                    },
                                    "value": "proving disputed fake report"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_c57b0850c73f4c2916e4682c7a87668d231d8f5dd2bd28b2a62627d190ff0d28",
                                      "typeString": "literal_string \"proving disputed fake report\""
                                    }
                                  ],
                                  "id": 21663,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    4294967278,
                                    4294967278,
                                    4294967278
                                  ],
                                  "referencedDeclaration": 4294967278,
                                  "src": "19677:7:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 21698,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "19677:594:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21699,
                              "nodeType": "ExpressionStatement",
                              "src": "19677:594:60"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 21701,
                                        "name": "self",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21476,
                                        "src": "20396:4:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 21702,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "20401:8:60",
                                      "memberName": "response",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18061,
                                      "src": "20396:13:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                      }
                                    },
                                    "id": 21703,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "20410:8:60",
                                    "memberName": "disputer",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18099,
                                    "src": "20396:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 21704,
                                        "name": "self",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21476,
                                        "src": "20441:4:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 21705,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "20446:8:60",
                                      "memberName": "response",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18061,
                                      "src": "20441:13:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                      }
                                    },
                                    "id": 21706,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "20455:8:60",
                                    "memberName": "reporter",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18089,
                                    "src": "20441:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "id": 21707,
                                    "name": "evmQueryReportingStake",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21467,
                                    "src": "20486:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 21700,
                                  "name": "slash",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20482,
                                  "src": "20368:5:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                                    "typeString": "function (address,address,uint256)"
                                  }
                                },
                                "id": 21708,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "20368:159:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21709,
                              "nodeType": "ExpressionStatement",
                              "src": "20368:159:60"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "expression": {
                                      "expression": {
                                        "id": 21711,
                                        "name": "self",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21476,
                                        "src": "20625:4:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 21712,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "20630:8:60",
                                      "memberName": "response",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18061,
                                      "src": "20625:13:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                      }
                                    },
                                    "id": 21713,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "20639:8:60",
                                    "memberName": "reporter",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18089,
                                    "src": "20625:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 21717,
                                          "name": "self",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 21476,
                                          "src": "20678:4:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                                          }
                                        },
                                        "id": 21718,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "20683:6:60",
                                        "memberName": "reward",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 18070,
                                        "src": "20678:11:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                          "typeString": "Witnet.QueryEvmReward"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                          "typeString": "Witnet.QueryEvmReward"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 21714,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "20649:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 21715,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "20656:14:60",
                                        "memberName": "QueryEvmReward",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37147,
                                        "src": "20649:21:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                          "typeString": "type(Witnet.QueryEvmReward)"
                                        }
                                      },
                                      "id": 21716,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "20671:6:60",
                                      "memberName": "unwrap",
                                      "nodeType": "MemberAccess",
                                      "src": "20649:28:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                        "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                      }
                                    },
                                    "id": 21719,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "20649:41:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint72",
                                      "typeString": "uint72"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint72",
                                      "typeString": "uint72"
                                    }
                                  ],
                                  "id": 21710,
                                  "name": "deposit",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20370,
                                  "src": "20617:7:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                                    "typeString": "function (address,uint256)"
                                  }
                                },
                                "id": 21720,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "20617:74:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21721,
                              "nodeType": "ExpressionStatement",
                              "src": "20617:74:60"
                            },
                            {
                              "expression": {
                                "id": 21731,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "expression": {
                                      "id": 21722,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21476,
                                      "src": "20771:4:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 21725,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "20776:8:60",
                                    "memberName": "response",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18061,
                                    "src": "20771:13:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                      "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                    }
                                  },
                                  "id": 21726,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "20785:8:60",
                                  "memberName": "disputer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18099,
                                  "src": "20771:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 21729,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "20804:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 21728,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "20796:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 21727,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "20796:7:60",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 21730,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "20796:10:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "20771:35:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 21732,
                              "nodeType": "ExpressionStatement",
                              "src": "20771:35:60"
                            }
                          ]
                        }
                      },
                      "id": 21750,
                      "nodeType": "IfStatement",
                      "src": "17876:3151:60",
                      "trueBody": {
                        "id": 21657,
                        "nodeType": "Block",
                        "src": "17925:1589:60",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  "id": 21586,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "id": 21557,
                                              "name": "responseReport",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 21460,
                                              "src": "18131:14:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                "typeString": "struct Witnet.DataPullReport calldata"
                                              }
                                            },
                                            "id": 21558,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "18146:11:60",
                                            "memberName": "witDrTxHash",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 37258,
                                            "src": "18131:26:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                              "typeString": "Witnet.TransactionHash"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "id": 21559,
                                              "name": "responseReport",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 21460,
                                              "src": "18185:14:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                "typeString": "struct Witnet.DataPullReport calldata"
                                              }
                                            },
                                            "id": 21560,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "18200:16:60",
                                            "memberName": "witDrResultEpoch",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 37253,
                                            "src": "18185:31:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                              "typeString": "Witnet.BlockNumber"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "id": 21561,
                                              "name": "responseReport",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 21460,
                                              "src": "18243:14:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                                "typeString": "struct Witnet.DataPullReport calldata"
                                              }
                                            },
                                            "id": 21562,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "18258:20:60",
                                            "memberName": "witDrResultCborBytes",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 37255,
                                            "src": "18243:35:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_calldata_ptr",
                                              "typeString": "bytes calldata"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                              "typeString": "Witnet.TransactionHash"
                                            },
                                            {
                                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                              "typeString": "Witnet.BlockNumber"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes_calldata_ptr",
                                              "typeString": "bytes calldata"
                                            }
                                          ],
                                          "expression": {
                                            "id": 21555,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "18094:3:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 21556,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "18098:6:60",
                                          "memberName": "encode",
                                          "nodeType": "MemberAccess",
                                          "src": "18094:10:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 21563,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18094:207:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 21554,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967288,
                                      "src": "18084:9:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                        "typeString": "function (bytes memory) pure returns (bytes32)"
                                      }
                                    },
                                    "id": 21564,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "18084:218:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "!=",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "expression": {
                                                "id": 21568,
                                                "name": "self",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21476,
                                                "src": "18353:4:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                  "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                }
                                              },
                                              "id": 21569,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "18358:8:60",
                                              "memberName": "response",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 18061,
                                              "src": "18353:13:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                              }
                                            },
                                            "id": 21570,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "18367:14:60",
                                            "memberName": "resultDrTxHash",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 18095,
                                            "src": "18353:28:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "expression": {
                                                      "expression": {
                                                        "id": 21576,
                                                        "name": "self",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 21476,
                                                        "src": "18465:4:60",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                        }
                                                      },
                                                      "id": 21577,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "18470:8:60",
                                                      "memberName": "response",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 18061,
                                                      "src": "18465:13:60",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                        "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                                      }
                                                    },
                                                    "id": 21578,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "18479:15:60",
                                                    "memberName": "resultTimestamp",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 18093,
                                                    "src": "18465:29:60",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_uint64",
                                                      "typeString": "uint64"
                                                    }
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint64",
                                                      "typeString": "uint64"
                                                    }
                                                  ],
                                                  "expression": {
                                                    "expression": {
                                                      "id": 21573,
                                                      "name": "Witnet",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 40741,
                                                      "src": "18443:6:60",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                        "typeString": "type(library Witnet)"
                                                      }
                                                    },
                                                    "id": 21574,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "18450:9:60",
                                                    "memberName": "Timestamp",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 37157,
                                                    "src": "18443:16:60",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                                      "typeString": "type(Witnet.Timestamp)"
                                                    }
                                                  },
                                                  "id": 21575,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "memberLocation": "18460:4:60",
                                                  "memberName": "wrap",
                                                  "nodeType": "MemberAccess",
                                                  "src": "18443:21:60",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                                                    "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                                                  }
                                                },
                                                "id": 21579,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18443:52:60",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                                  "typeString": "Witnet.Timestamp"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                                  "typeString": "Witnet.Timestamp"
                                                }
                                              ],
                                              "expression": {
                                                "id": 21571,
                                                "name": "Witnet",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 40741,
                                                "src": "18408:6:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                  "typeString": "type(library Witnet)"
                                                }
                                              },
                                              "id": 21572,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "18415:27:60",
                                              "memberName": "determineEpochFromTimestamp",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 40208,
                                              "src": "18408:34:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                                "typeString": "function (Witnet.Timestamp) pure returns (Witnet.BlockNumber)"
                                              }
                                            },
                                            "id": 21580,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "18408:88:60",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                              "typeString": "Witnet.BlockNumber"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "expression": {
                                                "id": 21581,
                                                "name": "self",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21476,
                                                "src": "18523:4:60",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                                  "typeString": "struct WitOracleDataLib.Query storage pointer"
                                                }
                                              },
                                              "id": 21582,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "18528:8:60",
                                              "memberName": "response",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 18061,
                                              "src": "18523:13:60",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                                "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                              }
                                            },
                                            "id": 21583,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "18537:15:60",
                                            "memberName": "resultCborBytes",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 18097,
                                            "src": "18523:29:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_storage",
                                              "typeString": "bytes storage ref"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            },
                                            {
                                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                              "typeString": "Witnet.BlockNumber"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes_storage",
                                              "typeString": "bytes storage ref"
                                            }
                                          ],
                                          "expression": {
                                            "id": 21566,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "18316:3:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 21567,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "18320:6:60",
                                          "memberName": "encode",
                                          "nodeType": "MemberAccess",
                                          "src": "18316:10:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 21584,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18316:259:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 21565,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967288,
                                      "src": "18306:9:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                        "typeString": "function (bytes memory) pure returns (bytes32)"
                                      }
                                    },
                                    "id": 21585,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "18306:270:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "src": "18084:492:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                {
                                  "hexValue": "70726f76696e67206e6f2066616b65207265706f7274",
                                  "id": 21587,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "18599:24:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_24bdda1cf2a692f83edcf117fd882ed46cbe111e98e12fb2697ec59abde15abf",
                                    "typeString": "literal_string \"proving no fake report\""
                                  },
                                  "value": "proving no fake report"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  {
                                    "typeIdentifier": "t_stringliteral_24bdda1cf2a692f83edcf117fd882ed46cbe111e98e12fb2697ec59abde15abf",
                                    "typeString": "literal_string \"proving no fake report\""
                                  }
                                ],
                                "id": 21553,
                                "name": "require",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967278,
                                  4294967278,
                                  4294967278
                                ],
                                "referencedDeclaration": 4294967278,
                                "src": "18054:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (bool,string memory) pure"
                                }
                              },
                              "id": 21588,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18054:588:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 21589,
                            "nodeType": "ExpressionStatement",
                            "src": "18054:588:60"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "expression": {
                                      "id": 21591,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21476,
                                      "src": "18765:4:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                        "typeString": "struct WitOracleDataLib.Query storage pointer"
                                      }
                                    },
                                    "id": 21592,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "18770:8:60",
                                    "memberName": "response",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 18061,
                                    "src": "18765:13:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                      "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                    }
                                  },
                                  "id": 21593,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "18779:8:60",
                                  "memberName": "reporter",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18089,
                                  "src": "18765:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 21594,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967281,
                                    "src": "18810:3:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 21595,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "18814:6:60",
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "src": "18810:10:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "id": 21596,
                                  "name": "evmQueryReportingStake",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21467,
                                  "src": "18843:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 21590,
                                "name": "slash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20482,
                                "src": "18737:5:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                                  "typeString": "function (address,address,uint256)"
                                }
                              },
                              "id": 21597,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18737:147:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 21598,
                            "nodeType": "ExpressionStatement",
                            "src": "18737:147:60"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 21600,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967281,
                                    "src": "18979:3:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 21601,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "18983:6:60",
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "src": "18979:10:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 21605,
                                        "name": "self",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21476,
                                        "src": "19020:4:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                          "typeString": "struct WitOracleDataLib.Query storage pointer"
                                        }
                                      },
                                      "id": 21606,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "19025:6:60",
                                      "memberName": "reward",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 18070,
                                      "src": "19020:11:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                        "typeString": "Witnet.QueryEvmReward"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                        "typeString": "Witnet.QueryEvmReward"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 21602,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "18991:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21603,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "18998:14:60",
                                      "memberName": "QueryEvmReward",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37147,
                                      "src": "18991:21:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                        "typeString": "type(Witnet.QueryEvmReward)"
                                      }
                                    },
                                    "id": 21604,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "19013:6:60",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "18991:28:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                      "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                    }
                                  },
                                  "id": 21607,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "18991:41:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint72",
                                    "typeString": "uint72"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint72",
                                    "typeString": "uint72"
                                  }
                                ],
                                "id": 21599,
                                "name": "deposit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20370,
                                "src": "18971:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                                  "typeString": "function (address,uint256)"
                                }
                              },
                              "id": 21608,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18971:62:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 21609,
                            "nodeType": "ExpressionStatement",
                            "src": "18971:62:60"
                          },
                          {
                            "expression": {
                              "id": 21617,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 21610,
                                    "name": "self",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21476,
                                    "src": "19117:4:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 21613,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19122:8:60",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "19117:13:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 21614,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "19131:8:60",
                                "memberName": "reporter",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18089,
                                "src": "19117:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "expression": {
                                  "id": 21615,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "19142:3:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 21616,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19146:6:60",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "19142:10:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "19117:35:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 21618,
                            "nodeType": "ExpressionStatement",
                            "src": "19117:35:60"
                          },
                          {
                            "expression": {
                              "id": 21626,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 21619,
                                    "name": "self",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21476,
                                    "src": "19171:4:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 21622,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19176:8:60",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "19171:13:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 21623,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "19185:15:60",
                                "memberName": "resultCborBytes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18097,
                                "src": "19171:29:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage",
                                  "typeString": "bytes storage ref"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "expression": {
                                  "id": 21624,
                                  "name": "responseReport",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21460,
                                  "src": "19203:14:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                    "typeString": "struct Witnet.DataPullReport calldata"
                                  }
                                },
                                "id": 21625,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19218:20:60",
                                "memberName": "witDrResultCborBytes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37255,
                                "src": "19203:35:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                  "typeString": "bytes calldata"
                                }
                              },
                              "src": "19171:67:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage",
                                "typeString": "bytes storage ref"
                              }
                            },
                            "id": 21627,
                            "nodeType": "ExpressionStatement",
                            "src": "19171:67:60"
                          },
                          {
                            "expression": {
                              "id": 21639,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 21628,
                                    "name": "self",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21476,
                                    "src": "19257:4:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 21631,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19262:8:60",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "19257:13:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 21632,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "19271:14:60",
                                "memberName": "resultDrTxHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18095,
                                "src": "19257:28:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 21636,
                                      "name": "responseReport",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21460,
                                      "src": "19318:14:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                        "typeString": "struct Witnet.DataPullReport calldata"
                                      }
                                    },
                                    "id": 21637,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "19333:11:60",
                                    "memberName": "witDrTxHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37258,
                                    "src": "19318:26:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                      "typeString": "Witnet.TransactionHash"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                      "typeString": "Witnet.TransactionHash"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 21633,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "19288:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 21634,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "19295:15:60",
                                    "memberName": "TransactionHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37159,
                                    "src": "19288:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                      "typeString": "type(Witnet.TransactionHash)"
                                    }
                                  },
                                  "id": 21635,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "19311:6:60",
                                  "memberName": "unwrap",
                                  "nodeType": "MemberAccess",
                                  "src": "19288:29:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_TransactionHash_$37159_$returns$_t_bytes32_$",
                                    "typeString": "function (Witnet.TransactionHash) pure returns (bytes32)"
                                  }
                                },
                                "id": 21638,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "19288:57:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "src": "19257:88:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 21640,
                            "nodeType": "ExpressionStatement",
                            "src": "19257:88:60"
                          },
                          {
                            "expression": {
                              "id": 21655,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 21641,
                                    "name": "self",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21476,
                                    "src": "19364:4:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                      "typeString": "struct WitOracleDataLib.Query storage pointer"
                                    }
                                  },
                                  "id": 21644,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "19369:8:60",
                                  "memberName": "response",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 18061,
                                  "src": "19364:13:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                                    "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                                  }
                                },
                                "id": 21645,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "19378:15:60",
                                "memberName": "resultTimestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18093,
                                "src": "19364:29:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 21651,
                                          "name": "responseReport",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 21460,
                                          "src": "19455:14:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                            "typeString": "struct Witnet.DataPullReport calldata"
                                          }
                                        },
                                        "id": 21652,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "19470:16:60",
                                        "memberName": "witDrResultEpoch",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37253,
                                        "src": "19455:31:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                          "typeString": "Witnet.BlockNumber"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                                          "typeString": "Witnet.BlockNumber"
                                        }
                                      ],
                                      "expression": {
                                        "id": 21649,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "19420:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21650,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "19427:27:60",
                                      "memberName": "determineTimestampFromEpoch",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 40255,
                                      "src": "19420:34:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                                        "typeString": "function (Witnet.BlockNumber) pure returns (Witnet.Timestamp)"
                                      }
                                    },
                                    "id": 21653,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "19420:67:60",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 21646,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "19396:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 21647,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "19403:9:60",
                                    "memberName": "Timestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37157,
                                    "src": "19396:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                      "typeString": "type(Witnet.Timestamp)"
                                    }
                                  },
                                  "id": 21648,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "19413:6:60",
                                  "memberName": "unwrap",
                                  "nodeType": "MemberAccess",
                                  "src": "19396:23:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                    "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                                  }
                                },
                                "id": 21654,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "19396:92:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "src": "19364:124:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "id": 21656,
                            "nodeType": "ExpressionStatement",
                            "src": "19364:124:60"
                          }
                        ]
                      }
                    },
                    {
                      "expression": {
                        "id": 21760,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "id": 21751,
                          "name": "evmTotalReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21470,
                          "src": "21087:14:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 21759,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21755,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21476,
                                  "src": "21133:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                    "typeString": "struct WitOracleDataLib.Query storage pointer"
                                  }
                                },
                                "id": 21756,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "21138:6:60",
                                "memberName": "reward",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 18070,
                                "src": "21133:11:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                  "typeString": "Witnet.QueryEvmReward"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                  "typeString": "Witnet.QueryEvmReward"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 21752,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "21104:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 21753,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "21111:14:60",
                                "memberName": "QueryEvmReward",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37147,
                                "src": "21104:21:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                  "typeString": "type(Witnet.QueryEvmReward)"
                                }
                              },
                              "id": 21754,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "21126:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "21104:28:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                              }
                            },
                            "id": 21757,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "21104:41:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint72",
                              "typeString": "uint72"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "id": 21758,
                            "name": "evmQueryReportingStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21467,
                            "src": "21148:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "21104:66:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "21087:83:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 21761,
                      "nodeType": "ExpressionStatement",
                      "src": "21087:83:60"
                    },
                    {
                      "expression": {
                        "id": 21770,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "expression": {
                            "id": 21762,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21476,
                            "src": "21185:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 21764,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberLocation": "21190:6:60",
                          "memberName": "reward",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18070,
                          "src": "21185:11:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                            "typeString": "Witnet.QueryEvmReward"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 21768,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21226:1:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 21765,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "21199:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21766,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "21206:14:60",
                              "memberName": "QueryEvmReward",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37147,
                              "src": "21199:21:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                "typeString": "type(Witnet.QueryEvmReward)"
                              }
                            },
                            "id": 21767,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "21221:4:60",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "21199:26:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_uint72_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                              "typeString": "function (uint72) pure returns (Witnet.QueryEvmReward)"
                            }
                          },
                          "id": 21769,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21199:29:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                            "typeString": "Witnet.QueryEvmReward"
                          }
                        },
                        "src": "21185:43:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                          "typeString": "Witnet.QueryEvmReward"
                        }
                      },
                      "id": 21771,
                      "nodeType": "ExpressionStatement",
                      "src": "21185:43:60"
                    },
                    {
                      "expression": {
                        "id": 21784,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "expression": {
                            "id": 21772,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21476,
                            "src": "21312:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 21774,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberLocation": "21317:10:60",
                          "memberName": "checkpoint",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18073,
                          "src": "21312:15:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                            "typeString": "Witnet.BlockNumber"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 21780,
                                    "name": "block",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967292,
                                    "src": "21361:5:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_block",
                                      "typeString": "block"
                                    }
                                  },
                                  "id": 21781,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21367:6:60",
                                  "memberName": "number",
                                  "nodeType": "MemberAccess",
                                  "src": "21361:12:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 21779,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "21354:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint64_$",
                                  "typeString": "type(uint64)"
                                },
                                "typeName": {
                                  "id": 21778,
                                  "name": "uint64",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "21354:6:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21782,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21354:20:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 21775,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "21330:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21776,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "21337:11:60",
                              "memberName": "BlockNumber",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37145,
                              "src": "21330:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                                "typeString": "type(Witnet.BlockNumber)"
                              }
                            },
                            "id": 21777,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "21349:4:60",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "21330:23:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_BlockNumber_$37145_$",
                              "typeString": "function (uint64) pure returns (Witnet.BlockNumber)"
                            }
                          },
                          "id": 21783,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21330:45:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                            "typeString": "Witnet.BlockNumber"
                          }
                        },
                        "src": "21312:63:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                          "typeString": "Witnet.BlockNumber"
                        }
                      },
                      "id": 21785,
                      "nodeType": "ExpressionStatement",
                      "src": "21312:63:60"
                    }
                  ]
                }
              ]
            },
            "functionSelector": "34c20ee3",
            "id": 21788,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rollupQueryResponseProof",
            "nameLocation": "16283:24:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21468,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21457,
                  "mutability": "mutable",
                  "name": "witOracleRollup",
                  "nameLocation": "16352:15:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16322:45:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21455,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 21454,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "16322:6:60",
                          "16329:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "16322:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "16322:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 21456,
                    "nodeType": "ArrayTypeName",
                    "src": "16322:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21460,
                  "mutability": "mutable",
                  "name": "responseReport",
                  "nameLocation": "16413:14:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16382:45:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                    "typeString": "struct Witnet.DataPullReport"
                  },
                  "typeName": {
                    "id": 21459,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21458,
                      "name": "Witnet.DataPullReport",
                      "nameLocations": [
                        "16382:6:60",
                        "16389:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37259,
                      "src": "16382:21:60"
                    },
                    "referencedDeclaration": 37259,
                    "src": "16382:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPullReport_$37259_storage_ptr",
                      "typeString": "struct Witnet.DataPullReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21463,
                  "mutability": "mutable",
                  "name": "ddrTalliesMerkleTrie",
                  "nameLocation": "16461:20:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16442:39:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21461,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "16442:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 21462,
                    "nodeType": "ArrayTypeName",
                    "src": "16442:9:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21465,
                  "mutability": "mutable",
                  "name": "evmQueryAwaitingBlocks",
                  "nameLocation": "16504:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16496:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21464,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16496:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21467,
                  "mutability": "mutable",
                  "name": "evmQueryReportingStake",
                  "nameLocation": "16549:22:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16541:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21466,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16541:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16307:275:60"
            },
            "returnParameters": {
              "id": 21471,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21470,
                  "mutability": "mutable",
                  "name": "evmTotalReward",
                  "nameLocation": "16616:14:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21788,
                  "src": "16608:22:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 21469,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16608:7:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16607:24:60"
            },
            "scope": 22249,
            "src": "16274:5153:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21923,
              "nodeType": "Block",
              "src": "21686:1442:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 21844,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 21839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 21827,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 21821,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                "id": 21815,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 21808,
                                        "name": "report",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21791,
                                        "src": "21777:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                          "typeString": "struct Witnet.DataPushReport calldata"
                                        }
                                      },
                                      "id": 21809,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "21784:12:60",
                                      "memberName": "queryRadHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37265,
                                      "src": "21777:19:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                        "typeString": "Witnet.RadonHash"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                        "typeString": "Witnet.RadonHash"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 21805,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "21753:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21806,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "21760:9:60",
                                      "memberName": "RadonHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37153,
                                      "src": "21753:16:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                        "typeString": "type(Witnet.RadonHash)"
                                      }
                                    },
                                    "id": 21807,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "21770:6:60",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "21753:23:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes32_$",
                                      "typeString": "function (Witnet.RadonHash) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 21810,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "21753:44:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 21813,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "21809:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 21812,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "21801:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes32_$",
                                      "typeString": "type(bytes32)"
                                    },
                                    "typeName": {
                                      "id": 21811,
                                      "name": "bytes32",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "21801:7:60",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 21814,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "21801:10:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "21753:58:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "&&",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 21820,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 21816,
                                      "name": "report",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21791,
                                      "src": "21832:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                        "typeString": "struct Witnet.DataPushReport calldata"
                                      }
                                    },
                                    "id": 21817,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "21839:15:60",
                                    "memberName": "resultCborBytes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37273,
                                    "src": "21832:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_calldata_ptr",
                                      "typeString": "bytes calldata"
                                    }
                                  },
                                  "id": 21818,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21855:6:60",
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "src": "21832:29:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 21819,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "21864:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "21832:33:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "21753:112:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "id": 21826,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "!",
                              "prefix": true,
                              "src": "21886:32:60",
                              "subExpression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "expression": {
                                      "id": 21822,
                                      "name": "report",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21791,
                                      "src": "21887:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                        "typeString": "struct Witnet.DataPushReport calldata"
                                      }
                                    },
                                    "id": 21823,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "21894:15:60",
                                    "memberName": "resultTimestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37271,
                                    "src": "21887:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  },
                                  "id": 21824,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21910:6:60",
                                  "memberName": "isZero",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 39097,
                                  "src": "21887:29:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Timestamp_$37157_$",
                                    "typeString": "function (Witnet.Timestamp) pure returns (bool)"
                                  }
                                },
                                "id": 21825,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "21887:31:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "21753:165:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "id": 21838,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 21831,
                                    "name": "report",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21791,
                                    "src": "21969:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                      "typeString": "struct Witnet.DataPushReport calldata"
                                    }
                                  },
                                  "id": 21832,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21976:11:60",
                                  "memberName": "witDrTxHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37262,
                                  "src": "21969:18:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                    "typeString": "Witnet.TransactionHash"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                    "typeString": "Witnet.TransactionHash"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 21828,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "21939:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 21829,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21946:15:60",
                                  "memberName": "TransactionHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37159,
                                  "src": "21939:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                    "typeString": "type(Witnet.TransactionHash)"
                                  }
                                },
                                "id": 21830,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "21962:6:60",
                                "memberName": "unwrap",
                                "nodeType": "MemberAccess",
                                "src": "21939:29:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_TransactionHash_$37159_$returns$_t_bytes32_$",
                                  "typeString": "function (Witnet.TransactionHash) pure returns (bytes32)"
                                }
                              },
                              "id": 21833,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21939:49:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 21836,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "22000:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 21835,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "21992:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": {
                                  "id": 21834,
                                  "name": "bytes32",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "21992:7:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21837,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21992:10:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "src": "21939:63:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "21753:249:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "expression": {
                                "id": 21840,
                                "name": "report",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21791,
                                "src": "22023:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                  "typeString": "struct Witnet.DataPushReport calldata"
                                }
                              },
                              "id": 21841,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22030:11:60",
                              "memberName": "queryParams",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37268,
                              "src": "22023:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_QuerySLA_$37373_calldata_ptr",
                                "typeString": "struct Witnet.QuerySLA calldata"
                              }
                            },
                            "id": 21842,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "22042:7:60",
                            "memberName": "isValid",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 38791,
                            "src": "22023:26:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                              "typeString": "function (struct Witnet.QuerySLA memory) pure returns (bool)"
                            }
                          },
                          "id": 21843,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "22023:28:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "21753:298:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c6964207175657279207265706f7274",
                        "id": 21845,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22067:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381",
                          "typeString": "literal_string \"invalid query report\""
                        },
                        "value": "invalid query report"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381",
                          "typeString": "literal_string \"invalid query report\""
                        }
                      ],
                      "id": 21804,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "21731:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21846,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21731:369:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21847,
                  "nodeType": "ExpressionStatement",
                  "src": "21731:369:60"
                },
                {
                  "assignments": [
                    21852
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21852,
                      "mutability": "mutable",
                      "name": "_witOracleHead",
                      "nameLocation": "22169:14:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 21923,
                      "src": "22148:35:60",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon"
                      },
                      "typeName": {
                        "id": 21851,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21850,
                          "name": "Witnet.Beacon",
                          "nameLocations": [
                            "22148:6:60",
                            "22155:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37242,
                          "src": "22148:13:60"
                        },
                        "referencedDeclaration": 37242,
                        "src": "22148:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                          "typeString": "struct Witnet.Beacon"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21856,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21854,
                        "name": "rollup",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21795,
                        "src": "22200:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      ],
                      "id": 21853,
                      "name": "verifyBeacons",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20664,
                      "src": "22186:13:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr_$returns$_t_struct$_Beacon_$37242_memory_ptr_$",
                        "typeString": "function (struct Witnet.FastForward calldata[] calldata) view returns (struct Witnet.Beacon memory)"
                      }
                    },
                    "id": 21855,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22186:21:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                      "typeString": "struct Witnet.Beacon memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "22148:59:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 21867,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 21858,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21852,
                            "src": "22240:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 21859,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "22255:5:60",
                          "memberName": "index",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37229,
                          "src": "22240:20:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          },
                          "id": 21866,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21862,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21791,
                                  "src": "22305:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 21863,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22312:15:60",
                                "memberName": "resultTimestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37271,
                                "src": "22305:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              ],
                              "expression": {
                                "id": 21860,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "22264:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21861,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "22271:33:60",
                              "memberName": "determineBeaconIndexFromTimestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 40148,
                              "src": "22264:40:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                              }
                            },
                            "id": 21864,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22264:64:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 21865,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22331:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "22264:68:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "src": "22240:92:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6d69736c656164696e67206865616420626561636f6e",
                        "id": 21868,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22348:24:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        },
                        "value": "misleading head beacon"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        }
                      ],
                      "id": 21857,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "22218:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21869,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22218:165:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21870,
                  "nodeType": "ExpressionStatement",
                  "src": "22218:165:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 21881,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 21872,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21852,
                            "src": "22452:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 21873,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "22467:20:60",
                          "memberName": "droTalliesMerkleRoot",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37237,
                          "src": "22452:35:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 21876,
                              "name": "droMerkleTrie",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21798,
                              "src": "22527:13:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              }
                            },
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 21877,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21791,
                                  "src": "22560:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 21878,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22567:6:60",
                                "memberName": "digest",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 38187,
                                "src": "22560:13:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_DataPushReport_$37274_calldata_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_DataPushReport_$37274_calldata_ptr_$",
                                  "typeString": "function (struct Witnet.DataPushReport calldata) pure returns (bytes32)"
                                }
                              },
                              "id": 21879,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "22560:15:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "id": 21874,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "22491:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21875,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "22498:10:60",
                            "memberName": "merkleRoot",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 39383,
                            "src": "22491:17:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$",
                              "typeString": "function (bytes32[] calldata,bytes32) pure returns (bytes32)"
                            }
                          },
                          "id": 21880,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "22491:99:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "src": "22452:138:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c6964206d65726b6c652070726f6f66",
                        "id": 21882,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22592:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        },
                        "value": "invalid merkle proof"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        }
                      ],
                      "id": 21871,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "22430:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21883,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22430:195:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21884,
                  "nodeType": "ExpressionStatement",
                  "src": "22430:195:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 21891,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "22759:1:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 21890,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "22751:7:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 21889,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "22751:7:60",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21892,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22751:10:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 21895,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "22781:1:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 21894,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "22773:7:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 21893,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "22773:7:60",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21896,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22773:10:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "hexValue": "30",
                            "id": 21897,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22789:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          {
                            "expression": {
                              "id": 21898,
                              "name": "report",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21791,
                              "src": "22826:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                "typeString": "struct Witnet.DataPushReport calldata"
                              }
                            },
                            "id": 21899,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "22833:15:60",
                            "memberName": "resultCborBytes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37273,
                            "src": "22826:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21903,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21791,
                                  "src": "22913:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 21904,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22920:11:60",
                                "memberName": "witDrTxHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37262,
                                "src": "22913:18:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 21900,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "22883:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 21901,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22890:15:60",
                                "memberName": "TransactionHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37159,
                                "src": "22883:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                  "typeString": "type(Witnet.TransactionHash)"
                                }
                              },
                              "id": 21902,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "22906:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "22883:29:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_TransactionHash_$37159_$returns$_t_bytes32_$",
                                "typeString": "function (Witnet.TransactionHash) pure returns (bytes32)"
                              }
                            },
                            "id": 21905,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22883:49:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21909,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21791,
                                  "src": "22992:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 21910,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22999:15:60",
                                "memberName": "resultTimestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37271,
                                "src": "22992:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 21906,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "22968:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 21907,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "22975:9:60",
                                "memberName": "Timestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37157,
                                "src": "22968:16:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                  "typeString": "type(Witnet.Timestamp)"
                                }
                              },
                              "id": 21908,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "22985:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "22968:23:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                              }
                            },
                            "id": 21911,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22968:47:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "id": 21887,
                            "name": "WitOracleDataLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20110,
                            "src": "22691:16:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                              "typeString": "type(library WitOracleDataLib)"
                            }
                          },
                          "id": 21888,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "22708:13:60",
                          "memberName": "QueryResponse",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18100,
                          "src": "22691:30:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_QueryResponse_$18100_storage_ptr_$",
                            "typeString": "type(struct WitOracleDataLib.QueryResponse storage pointer)"
                          }
                        },
                        "id": 21912,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "22741:8:60",
                          "22763:8:60",
                          "22785:2:60",
                          "22809:15:60",
                          "22867:14:60",
                          "22951:15:60"
                        ],
                        "names": [
                          "reporter",
                          "disputer",
                          "_0",
                          "resultCborBytes",
                          "resultDrTxHash",
                          "resultTimestamp"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "22691:340:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_memory_ptr",
                          "typeString": "struct WitOracleDataLib.QueryResponse memory"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 21913,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "23046:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21914,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23053:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "23046:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 21915,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "23065:9:60",
                        "memberName": "Finalized",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37331,
                        "src": "23046:28:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21918,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "23096:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 21919,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23102:6:60",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "23096:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 21917,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "23089:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": {
                            "id": 21916,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "23089:6:60",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21920,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "23089:20:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_memory_ptr",
                          "typeString": "struct WitOracleDataLib.QueryResponse memory"
                        },
                        {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 21885,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "22645:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 21886,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22662:14:60",
                      "memberName": "intoDataResult",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18494,
                      "src": "22645:31:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_QueryResponse_$18100_memory_ptr_$_t_enum$_QueryStatus_$37335_$_t_uint64_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.QueryResponse memory,enum Witnet.QueryStatus,uint64) pure returns (struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 21921,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22645:475:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "functionReturnParameters": 21803,
                  "id": 21922,
                  "nodeType": "Return",
                  "src": "22638:482:60"
                }
              ]
            },
            "functionSelector": "1ac07503",
            "id": 21924,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "parseDataPushReport",
            "nameLocation": "21444:19:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21791,
                  "mutability": "mutable",
                  "name": "report",
                  "nameLocation": "21509:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21924,
                  "src": "21478:37:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                    "typeString": "struct Witnet.DataPushReport"
                  },
                  "typeName": {
                    "id": 21790,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21789,
                      "name": "Witnet.DataPushReport",
                      "nameLocations": [
                        "21478:6:60",
                        "21485:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37274,
                      "src": "21478:21:60"
                    },
                    "referencedDeclaration": 37274,
                    "src": "21478:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                      "typeString": "struct Witnet.DataPushReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21795,
                  "mutability": "mutable",
                  "name": "rollup",
                  "nameLocation": "21560:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21924,
                  "src": "21530:36:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21793,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 21792,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "21530:6:60",
                          "21537:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "21530:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "21530:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 21794,
                    "nodeType": "ArrayTypeName",
                    "src": "21530:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21798,
                  "mutability": "mutable",
                  "name": "droMerkleTrie",
                  "nameLocation": "21600:13:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 21924,
                  "src": "21581:32:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21796,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "21581:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 21797,
                    "nodeType": "ArrayTypeName",
                    "src": "21581:9:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21463:161:60"
            },
            "returnParameters": {
              "id": 21803,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21802,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21924,
                  "src": "21655:24:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 21801,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21800,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "21655:6:60",
                        "21662:10:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "21655:17:60"
                    },
                    "referencedDeclaration": 37293,
                    "src": "21655:17:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21654:26:60"
            },
            "scope": 22249,
            "src": "21435:1693:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22059,
              "nodeType": "Block",
              "src": "23383:1442:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 21980,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 21975,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 21963,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 21957,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                "id": 21951,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "id": 21944,
                                        "name": "report",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21927,
                                        "src": "23474:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                          "typeString": "struct Witnet.DataPushReport calldata"
                                        }
                                      },
                                      "id": 21945,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23481:12:60",
                                      "memberName": "queryRadHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37265,
                                      "src": "23474:19:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                        "typeString": "Witnet.RadonHash"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                        "typeString": "Witnet.RadonHash"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 21941,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "23450:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21942,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "23457:9:60",
                                      "memberName": "RadonHash",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37153,
                                      "src": "23450:16:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                        "typeString": "type(Witnet.RadonHash)"
                                      }
                                    },
                                    "id": 21943,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "23467:6:60",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "23450:23:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes32_$",
                                      "typeString": "function (Witnet.RadonHash) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 21946,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23450:44:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 21949,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "23506:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 21948,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "23498:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes32_$",
                                      "typeString": "type(bytes32)"
                                    },
                                    "typeName": {
                                      "id": 21947,
                                      "name": "bytes32",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "23498:7:60",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 21950,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "23498:10:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "23450:58:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "&&",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 21956,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 21952,
                                      "name": "report",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21927,
                                      "src": "23529:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                        "typeString": "struct Witnet.DataPushReport calldata"
                                      }
                                    },
                                    "id": 21953,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "23536:15:60",
                                    "memberName": "resultCborBytes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37273,
                                    "src": "23529:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_calldata_ptr",
                                      "typeString": "bytes calldata"
                                    }
                                  },
                                  "id": 21954,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23552:6:60",
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "src": "23529:29:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 21955,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "23561:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "23529:33:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "23450:112:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "id": 21962,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "!",
                              "prefix": true,
                              "src": "23583:32:60",
                              "subExpression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "expression": {
                                      "id": 21958,
                                      "name": "report",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21927,
                                      "src": "23584:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                        "typeString": "struct Witnet.DataPushReport calldata"
                                      }
                                    },
                                    "id": 21959,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "23591:15:60",
                                    "memberName": "resultTimestamp",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37271,
                                    "src": "23584:22:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  },
                                  "id": 21960,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23607:6:60",
                                  "memberName": "isZero",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 39097,
                                  "src": "23584:29:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Timestamp_$37157_$",
                                    "typeString": "function (Witnet.Timestamp) pure returns (bool)"
                                  }
                                },
                                "id": 21961,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "23584:31:60",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "23450:165:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "id": 21974,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 21967,
                                    "name": "report",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21927,
                                    "src": "23666:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                      "typeString": "struct Witnet.DataPushReport calldata"
                                    }
                                  },
                                  "id": 21968,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23673:11:60",
                                  "memberName": "witDrTxHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37262,
                                  "src": "23666:18:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                    "typeString": "Witnet.TransactionHash"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                    "typeString": "Witnet.TransactionHash"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 21964,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 40741,
                                    "src": "23636:6:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 21965,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "23643:15:60",
                                  "memberName": "TransactionHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37159,
                                  "src": "23636:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                    "typeString": "type(Witnet.TransactionHash)"
                                  }
                                },
                                "id": 21966,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "23659:6:60",
                                "memberName": "unwrap",
                                "nodeType": "MemberAccess",
                                "src": "23636:29:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_TransactionHash_$37159_$returns$_t_bytes32_$",
                                  "typeString": "function (Witnet.TransactionHash) pure returns (bytes32)"
                                }
                              },
                              "id": 21969,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23636:49:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 21972,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "23697:1:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 21971,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "23689:7:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": {
                                  "id": 21970,
                                  "name": "bytes32",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "23689:7:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21973,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23689:10:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "src": "23636:63:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "23450:249:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "expression": {
                                "id": 21976,
                                "name": "report",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21927,
                                "src": "23720:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                  "typeString": "struct Witnet.DataPushReport calldata"
                                }
                              },
                              "id": 21977,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "23727:11:60",
                              "memberName": "queryParams",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37268,
                              "src": "23720:18:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_QuerySLA_$37373_calldata_ptr",
                                "typeString": "struct Witnet.QuerySLA calldata"
                              }
                            },
                            "id": 21978,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23739:7:60",
                            "memberName": "isValid",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 38791,
                            "src": "23720:26:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_QuerySLA_$37373_memory_ptr_$",
                              "typeString": "function (struct Witnet.QuerySLA memory) pure returns (bool)"
                            }
                          },
                          "id": 21979,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23720:28:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "23450:298:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c6964207175657279207265706f7274",
                        "id": 21981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "23764:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381",
                          "typeString": "literal_string \"invalid query report\""
                        },
                        "value": "invalid query report"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e9c8d037a252e9dabe5652ab27fea8d18f598b4ee0eb06371d38153768dfb381",
                          "typeString": "literal_string \"invalid query report\""
                        }
                      ],
                      "id": 21940,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "23428:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 21982,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23428:369:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 21983,
                  "nodeType": "ExpressionStatement",
                  "src": "23428:369:60"
                },
                {
                  "assignments": [
                    21988
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21988,
                      "mutability": "mutable",
                      "name": "_witOracleHead",
                      "nameLocation": "23866:14:60",
                      "nodeType": "VariableDeclaration",
                      "scope": 22059,
                      "src": "23845:35:60",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                        "typeString": "struct Witnet.Beacon"
                      },
                      "typeName": {
                        "id": 21987,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21986,
                          "name": "Witnet.Beacon",
                          "nameLocations": [
                            "23845:6:60",
                            "23852:6:60"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37242,
                          "src": "23845:13:60"
                        },
                        "referencedDeclaration": 37242,
                        "src": "23845:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                          "typeString": "struct Witnet.Beacon"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21992,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21990,
                        "name": "rollup",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21931,
                        "src": "23897:6:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      ],
                      "id": 21989,
                      "name": "rollupBeacons",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20630,
                      "src": "23883:13:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr_$returns$_t_struct$_Beacon_$37242_memory_ptr_$",
                        "typeString": "function (struct Witnet.FastForward calldata[] calldata) returns (struct Witnet.Beacon memory)"
                      }
                    },
                    "id": 21991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23883:21:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                      "typeString": "struct Witnet.Beacon memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23845:59:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 22003,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 21994,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21988,
                            "src": "23937:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 21995,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "23952:5:60",
                          "memberName": "index",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37229,
                          "src": "23937:20:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          },
                          "id": 22002,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21998,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21927,
                                  "src": "24002:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 21999,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24009:15:60",
                                "memberName": "resultTimestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37271,
                                "src": "24002:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              ],
                              "expression": {
                                "id": 21996,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "23961:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21997,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "23968:33:60",
                              "memberName": "determineBeaconIndexFromTimestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 40148,
                              "src": "23961:40:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                              }
                            },
                            "id": 22000,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "23961:64:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 22001,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "24028:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "23961:68:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "src": "23937:92:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6d69736c656164696e67206865616420626561636f6e",
                        "id": 22004,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "24045:24:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        },
                        "value": "misleading head beacon"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_62826e37131f934fe2c20a775a4a243f1360af2947163939dad6680c2a426c3e",
                          "typeString": "literal_string \"misleading head beacon\""
                        }
                      ],
                      "id": 21993,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "23915:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 22005,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23915:165:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 22006,
                  "nodeType": "ExpressionStatement",
                  "src": "23915:165:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 22017,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 22008,
                            "name": "_witOracleHead",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21988,
                            "src": "24149:14:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Beacon_$37242_memory_ptr",
                              "typeString": "struct Witnet.Beacon memory"
                            }
                          },
                          "id": 22009,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24164:20:60",
                          "memberName": "droTalliesMerkleRoot",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37237,
                          "src": "24149:35:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes16",
                            "typeString": "bytes16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 22012,
                              "name": "droMerkleTrie",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21934,
                              "src": "24224:13:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              }
                            },
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 22013,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21927,
                                  "src": "24257:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 22014,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24264:6:60",
                                "memberName": "digest",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 38187,
                                "src": "24257:13:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_DataPushReport_$37274_calldata_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_DataPushReport_$37274_calldata_ptr_$",
                                  "typeString": "function (struct Witnet.DataPushReport calldata) pure returns (bytes32)"
                                }
                              },
                              "id": 22015,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24257:15:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                                "typeString": "bytes32[] calldata"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "id": 22010,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "24188:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22011,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24195:10:60",
                            "memberName": "merkleRoot",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 39383,
                            "src": "24188:17:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$",
                              "typeString": "function (bytes32[] calldata,bytes32) pure returns (bytes32)"
                            }
                          },
                          "id": 22016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24188:99:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "src": "24149:138:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c6964206d65726b6c652070726f6f66",
                        "id": 22018,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "24289:22:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        },
                        "value": "invalid merkle proof"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e",
                          "typeString": "literal_string \"invalid merkle proof\""
                        }
                      ],
                      "id": 22007,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "24127:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 22019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24127:195:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 22020,
                  "nodeType": "ExpressionStatement",
                  "src": "24127:195:60"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 22027,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24456:1:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 22026,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "24448:7:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 22025,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "24448:7:60",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 22028,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24448:10:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 22031,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24478:1:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 22030,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "24470:7:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 22029,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "24470:7:60",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 22032,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24470:10:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "hexValue": "30",
                            "id": 22033,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "24486:1:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          {
                            "expression": {
                              "id": 22034,
                              "name": "report",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21927,
                              "src": "24523:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                "typeString": "struct Witnet.DataPushReport calldata"
                              }
                            },
                            "id": 22035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24530:15:60",
                            "memberName": "resultCborBytes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37273,
                            "src": "24523:22:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 22039,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21927,
                                  "src": "24610:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 22040,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24617:11:60",
                                "memberName": "witDrTxHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37262,
                                "src": "24610:18:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                  "typeString": "Witnet.TransactionHash"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 22036,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "24580:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22037,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24587:15:60",
                                "memberName": "TransactionHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37159,
                                "src": "24580:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                  "typeString": "type(Witnet.TransactionHash)"
                                }
                              },
                              "id": 22038,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "24603:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "24580:29:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_TransactionHash_$37159_$returns$_t_bytes32_$",
                                "typeString": "function (Witnet.TransactionHash) pure returns (bytes32)"
                              }
                            },
                            "id": 22041,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24580:49:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 22045,
                                  "name": "report",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21927,
                                  "src": "24689:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                                    "typeString": "struct Witnet.DataPushReport calldata"
                                  }
                                },
                                "id": 22046,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24696:15:60",
                                "memberName": "resultTimestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37271,
                                "src": "24689:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                  "typeString": "Witnet.Timestamp"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 22042,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "24665:6:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22043,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24672:9:60",
                                "memberName": "Timestamp",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37157,
                                "src": "24665:16:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                  "typeString": "type(Witnet.Timestamp)"
                                }
                              },
                              "id": 22044,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "24682:6:60",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "24665:23:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                                "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                              }
                            },
                            "id": 22047,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24665:47:60",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          ],
                          "expression": {
                            "id": 22023,
                            "name": "WitOracleDataLib",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20110,
                            "src": "24388:16:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                              "typeString": "type(library WitOracleDataLib)"
                            }
                          },
                          "id": 22024,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24405:13:60",
                          "memberName": "QueryResponse",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18100,
                          "src": "24388:30:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_QueryResponse_$18100_storage_ptr_$",
                            "typeString": "type(struct WitOracleDataLib.QueryResponse storage pointer)"
                          }
                        },
                        "id": 22048,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "nameLocations": [
                          "24438:8:60",
                          "24460:8:60",
                          "24482:2:60",
                          "24506:15:60",
                          "24564:14:60",
                          "24648:15:60"
                        ],
                        "names": [
                          "reporter",
                          "disputer",
                          "_0",
                          "resultCborBytes",
                          "resultDrTxHash",
                          "resultTimestamp"
                        ],
                        "nodeType": "FunctionCall",
                        "src": "24388:340:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_memory_ptr",
                          "typeString": "struct WitOracleDataLib.QueryResponse memory"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 22049,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "24743:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 22050,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24750:11:60",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37335,
                          "src": "24743:18:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$37335_$",
                            "typeString": "type(enum Witnet.QueryStatus)"
                          }
                        },
                        "id": 22051,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "24762:9:60",
                        "memberName": "Finalized",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37331,
                        "src": "24743:28:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 22054,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "24793:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 22055,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24799:6:60",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "24793:12:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 22053,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "24786:6:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": {
                            "id": 22052,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "24786:6:60",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 22056,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24786:20:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_memory_ptr",
                          "typeString": "struct WitOracleDataLib.QueryResponse memory"
                        },
                        {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 22021,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "24342:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 22022,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24359:14:60",
                      "memberName": "intoDataResult",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18494,
                      "src": "24342:31:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_QueryResponse_$18100_memory_ptr_$_t_enum$_QueryStatus_$37335_$_t_uint64_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.QueryResponse memory,enum Witnet.QueryStatus,uint64) pure returns (struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 22057,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24342:475:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "functionReturnParameters": 21939,
                  "id": 22058,
                  "nodeType": "Return",
                  "src": "24335:482:60"
                }
              ]
            },
            "functionSelector": "85783377",
            "id": 22060,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rollupDataPushReport",
            "nameLocation": "23145:20:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21935,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21927,
                  "mutability": "mutable",
                  "name": "report",
                  "nameLocation": "23211:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22060,
                  "src": "23180:37:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPushReport_$37274_calldata_ptr",
                    "typeString": "struct Witnet.DataPushReport"
                  },
                  "typeName": {
                    "id": 21926,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21925,
                      "name": "Witnet.DataPushReport",
                      "nameLocations": [
                        "23180:6:60",
                        "23187:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37274,
                      "src": "23180:21:60"
                    },
                    "referencedDeclaration": 37274,
                    "src": "23180:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPushReport_$37274_storage_ptr",
                      "typeString": "struct Witnet.DataPushReport"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21931,
                  "mutability": "mutable",
                  "name": "rollup",
                  "nameLocation": "23262:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22060,
                  "src": "23232:36:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21929,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 21928,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "23232:6:60",
                          "23239:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "23232:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "23232:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 21930,
                    "nodeType": "ArrayTypeName",
                    "src": "23232:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21934,
                  "mutability": "mutable",
                  "name": "droMerkleTrie",
                  "nameLocation": "23302:13:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22060,
                  "src": "23283:32:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21932,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "23283:7:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 21933,
                    "nodeType": "ArrayTypeName",
                    "src": "23283:9:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23165:161:60"
            },
            "returnParameters": {
              "id": 21939,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21938,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22060,
                  "src": "23352:24:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 21937,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21936,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "23352:6:60",
                        "23359:10:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "23352:17:60"
                    },
                    "referencedDeclaration": 37293,
                    "src": "23352:17:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23351:26:60"
            },
            "scope": 22249,
            "src": "23136:1689:60",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22086,
              "nodeType": "Block",
              "src": "25168:180:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 22075,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22064,
                          "src": "25232:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                            "typeString": "struct WitOracleDataLib.Query storage pointer"
                          }
                        },
                        "id": 22076,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "25237:8:60",
                        "memberName": "response",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18061,
                        "src": "25232:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                        }
                      },
                      {
                        "id": 22077,
                        "name": "queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22067,
                        "src": "25261:11:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 22081,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22064,
                              "src": "25313:4:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                                "typeString": "struct WitOracleDataLib.Query storage pointer"
                              }
                            },
                            "id": 22082,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25318:10:60",
                            "memberName": "checkpoint",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18073,
                            "src": "25313:15:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                              "typeString": "Witnet.BlockNumber"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                              "typeString": "Witnet.BlockNumber"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 22078,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "25287:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22079,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25294:11:60",
                            "memberName": "BlockNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37145,
                            "src": "25287:18:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_BlockNumber_$37145_$",
                              "typeString": "type(Witnet.BlockNumber)"
                            }
                          },
                          "id": 22080,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "25306:6:60",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "25287:25:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.BlockNumber) pure returns (uint64)"
                          }
                        },
                        "id": 22083,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "25287:42:60",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_QueryResponse_$18100_storage",
                          "typeString": "struct WitOracleDataLib.QueryResponse storage ref"
                        },
                        {
                          "typeIdentifier": "t_enum$_QueryStatus_$37335",
                          "typeString": "enum Witnet.QueryStatus"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 22073,
                        "name": "WitOracleDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20110,
                        "src": "25186:16:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitOracleDataLib_$20110_$",
                          "typeString": "type(library WitOracleDataLib)"
                        }
                      },
                      "id": 22074,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25203:14:60",
                      "memberName": "intoDataResult",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18494,
                      "src": "25186:31:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_QueryResponse_$18100_memory_ptr_$_t_enum$_QueryStatus_$37335_$_t_uint64_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                        "typeString": "function (struct WitOracleDataLib.QueryResponse memory,enum Witnet.QueryStatus,uint64) pure returns (struct Witnet.DataResult memory)"
                      }
                    },
                    "id": 22084,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25186:154:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                      "typeString": "struct Witnet.DataResult memory"
                    }
                  },
                  "functionReturnParameters": 22072,
                  "id": 22085,
                  "nodeType": "Return",
                  "src": "25179:161:60"
                }
              ]
            },
            "documentation": {
              "id": 22061,
              "nodeType": "StructuredDocumentation",
              "src": "24839:158:60",
              "text": "=======================================================================\n --- Private library methods -------------------------------------------"
            },
            "id": 22087,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_getQueryResult",
            "nameLocation": "25012:15:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22068,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22064,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "25059:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22087,
                  "src": "25028:35:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                    "typeString": "struct WitOracleDataLib.Query"
                  },
                  "typeName": {
                    "id": 22063,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22062,
                      "name": "WitOracleDataLib.Query",
                      "nameLocations": [
                        "25028:16:60",
                        "25045:5:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18074,
                      "src": "25028:22:60"
                    },
                    "referencedDeclaration": 18074,
                    "src": "25028:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22067,
                  "mutability": "mutable",
                  "name": "queryStatus",
                  "nameLocation": "25084:11:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22087,
                  "src": "25065:30:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryStatus_$37335",
                    "typeString": "enum Witnet.QueryStatus"
                  },
                  "typeName": {
                    "id": 22066,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22065,
                      "name": "Witnet.QueryStatus",
                      "nameLocations": [
                        "25065:6:60",
                        "25072:11:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37335,
                      "src": "25065:18:60"
                    },
                    "referencedDeclaration": 37335,
                    "src": "25065:18:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$37335",
                      "typeString": "enum Witnet.QueryStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25027:69:60"
            },
            "returnParameters": {
              "id": 22072,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22071,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22087,
                  "src": "25137:24:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                    "typeString": "struct Witnet.DataResult"
                  },
                  "typeName": {
                    "id": 22070,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22069,
                      "name": "Witnet.DataResult",
                      "nameLocations": [
                        "25137:6:60",
                        "25144:10:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37293,
                      "src": "25137:17:60"
                    },
                    "referencedDeclaration": 37293,
                    "src": "25137:17:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                      "typeString": "struct Witnet.DataResult"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25136:26:60"
            },
            "scope": 22249,
            "src": "25003:345:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22148,
              "nodeType": "Block",
              "src": "25567:533:60",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bytes15",
                      "typeString": "bytes15"
                    },
                    "id": 22112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 22103,
                            "name": "report",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22093,
                            "src": "25620:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                              "typeString": "struct Witnet.DataPullReport calldata"
                            }
                          },
                          "id": 22104,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25627:9:60",
                          "memberName": "queryHash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37248,
                          "src": "25620:16:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryUUID_$37149",
                            "typeString": "Witnet.QueryUUID"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_QueryUUID_$37149",
                            "typeString": "Witnet.QueryUUID"
                          }
                        ],
                        "expression": {
                          "expression": {
                            "id": 22100,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "25596:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 22101,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25603:9:60",
                          "memberName": "QueryUUID",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37149,
                          "src": "25596:16:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryUUID_$37149_$",
                            "typeString": "type(Witnet.QueryUUID)"
                          }
                        },
                        "id": 22102,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "25613:6:60",
                        "memberName": "unwrap",
                        "nodeType": "MemberAccess",
                        "src": "25596:23:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryUUID_$37149_$returns$_t_bytes15_$",
                          "typeString": "function (Witnet.QueryUUID) pure returns (bytes15)"
                        }
                      },
                      "id": 22105,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "25596:41:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes15",
                        "typeString": "bytes15"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 22109,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22090,
                            "src": "25682:4:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                              "typeString": "struct WitOracleDataLib.Query storage pointer"
                            }
                          },
                          "id": 22110,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25687:4:60",
                          "memberName": "uuid",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 18067,
                          "src": "25682:9:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_QueryUUID_$37149",
                            "typeString": "Witnet.QueryUUID"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_QueryUUID_$37149",
                            "typeString": "Witnet.QueryUUID"
                          }
                        ],
                        "expression": {
                          "expression": {
                            "id": 22106,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "25658:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 22107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25665:9:60",
                          "memberName": "QueryUUID",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37149,
                          "src": "25658:16:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryUUID_$37149_$",
                            "typeString": "type(Witnet.QueryUUID)"
                          }
                        },
                        "id": 22108,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "25675:6:60",
                        "memberName": "unwrap",
                        "nodeType": "MemberAccess",
                        "src": "25658:23:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryUUID_$37149_$returns$_t_bytes15_$",
                          "typeString": "function (Witnet.QueryUUID) pure returns (bytes15)"
                        }
                      },
                      "id": 22111,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "25658:34:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes15",
                        "typeString": "bytes15"
                      }
                    },
                    "src": "25596:96:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "expression": {
                            "id": 22118,
                            "name": "report",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22093,
                            "src": "25787:6:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                              "typeString": "struct Witnet.DataPullReport calldata"
                            }
                          },
                          "id": 22119,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25794:16:60",
                          "memberName": "witDrResultEpoch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37253,
                          "src": "25787:23:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_BlockNumber_$37145",
                            "typeString": "Witnet.BlockNumber"
                          }
                        },
                        "id": 22120,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "25811:6:60",
                        "memberName": "isZero",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 38111,
                        "src": "25787:30:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_BlockNumber_$37145_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_BlockNumber_$37145_$",
                          "typeString": "function (Witnet.BlockNumber) pure returns (bool)"
                        }
                      },
                      "id": 22121,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "25787:32:60",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 22131,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "expression": {
                              "id": 22127,
                              "name": "report",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22093,
                              "src": "25906:6:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                                "typeString": "struct Witnet.DataPullReport calldata"
                              }
                            },
                            "id": 22128,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "25913:20:60",
                            "memberName": "witDrResultCborBytes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37255,
                            "src": "25906:27:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_calldata_ptr",
                              "typeString": "bytes calldata"
                            }
                          },
                          "id": 22129,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "25934:6:60",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "25906:34:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 22130,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "25944:1:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "25906:39:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 22144,
                        "nodeType": "Block",
                        "src": "26028:65:60",
                        "statements": [
                          {
                            "expression": {
                              "components": [
                                {
                                  "hexValue": "74727565",
                                  "id": 22137,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "26051:4:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "true"
                                },
                                {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 22140,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "26068:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      }
                                    ],
                                    "id": 22139,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "NewExpression",
                                    "src": "26057:10:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
                                      "typeString": "function (uint256) pure returns (string memory)"
                                    },
                                    "typeName": {
                                      "id": 22138,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "26061:6:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                      }
                                    }
                                  },
                                  "id": 22141,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "26057:13:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "id": 22142,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "26050:21:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$_t_bool_$_t_string_memory_ptr_$",
                                "typeString": "tuple(bool,string memory)"
                              }
                            },
                            "functionReturnParameters": 22099,
                            "id": 22143,
                            "nodeType": "Return",
                            "src": "26043:28:60"
                          }
                        ]
                      },
                      "id": 22145,
                      "nodeType": "IfStatement",
                      "src": "25902:191:60",
                      "trueBody": {
                        "id": 22136,
                        "nodeType": "Block",
                        "src": "25947:75:60",
                        "statements": [
                          {
                            "expression": {
                              "components": [
                                {
                                  "hexValue": "66616c7365",
                                  "id": 22132,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "25970:5:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "false"
                                },
                                {
                                  "hexValue": "696e76616c696420656d70747920726573756c74",
                                  "id": 22133,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "25977:22:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_3f55164013415374d9057744dde5e65280af41a933a352cb2cb0892d7ddb05c0",
                                    "typeString": "literal_string \"invalid empty result\""
                                  },
                                  "value": "invalid empty result"
                                }
                              ],
                              "id": 22134,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "25969:31:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$_t_bool_$_t_stringliteral_3f55164013415374d9057744dde5e65280af41a933a352cb2cb0892d7ddb05c0_$",
                                "typeString": "tuple(bool,literal_string \"invalid empty result\")"
                              }
                            },
                            "functionReturnParameters": 22099,
                            "id": 22135,
                            "nodeType": "Return",
                            "src": "25962:38:60"
                          }
                        ]
                      }
                    },
                    "id": 22146,
                    "nodeType": "IfStatement",
                    "src": "25783:310:60",
                    "trueBody": {
                      "id": 22126,
                      "nodeType": "Block",
                      "src": "25821:75:60",
                      "statements": [
                        {
                          "expression": {
                            "components": [
                              {
                                "hexValue": "66616c7365",
                                "id": 22122,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "25844:5:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              },
                              {
                                "hexValue": "696e76616c696420726573756c742065706f6368",
                                "id": 22123,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "25851:22:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_dfa3f6feedc532e463034b578e0a45e6145dd6204bfc1f01cc8dd9bdaba66cc2",
                                  "typeString": "literal_string \"invalid result epoch\""
                                },
                                "value": "invalid result epoch"
                              }
                            ],
                            "id": 22124,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "25843:31:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_bool_$_t_stringliteral_dfa3f6feedc532e463034b578e0a45e6145dd6204bfc1f01cc8dd9bdaba66cc2_$",
                              "typeString": "tuple(bool,literal_string \"invalid result epoch\")"
                            }
                          },
                          "functionReturnParameters": 22099,
                          "id": 22125,
                          "nodeType": "Return",
                          "src": "25836:38:60"
                        }
                      ]
                    }
                  },
                  "id": 22147,
                  "nodeType": "IfStatement",
                  "src": "25578:515:60",
                  "trueBody": {
                    "id": 22117,
                    "nodeType": "Block",
                    "src": "25704:73:60",
                    "statements": [
                      {
                        "expression": {
                          "components": [
                            {
                              "hexValue": "66616c7365",
                              "id": 22113,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "25727:5:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "hexValue": "696e76616c69642071756572792068617368",
                              "id": 22114,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "25734:20:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_803feaaa8db3ef4e9512939fccc56a4e76d8047fa2a871f6a5492fb24f1935c4",
                                "typeString": "literal_string \"invalid query hash\""
                              },
                              "value": "invalid query hash"
                            }
                          ],
                          "id": 22115,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "25726:29:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_stringliteral_803feaaa8db3ef4e9512939fccc56a4e76d8047fa2a871f6a5492fb24f1935c4_$",
                            "typeString": "tuple(bool,literal_string \"invalid query hash\")"
                          }
                        },
                        "functionReturnParameters": 22099,
                        "id": 22116,
                        "nodeType": "Return",
                        "src": "25719:36:60"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 22149,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_isValidDataPullReport",
            "nameLocation": "25365:22:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22090,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "25433:4:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22149,
                  "src": "25402:35:60",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                    "typeString": "struct WitOracleDataLib.Query"
                  },
                  "typeName": {
                    "id": 22089,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22088,
                      "name": "WitOracleDataLib.Query",
                      "nameLocations": [
                        "25402:16:60",
                        "25419:5:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18074,
                      "src": "25402:22:60"
                    },
                    "referencedDeclaration": 18074,
                    "src": "25402:22:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$18074_storage_ptr",
                      "typeString": "struct WitOracleDataLib.Query"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22093,
                  "mutability": "mutable",
                  "name": "report",
                  "nameLocation": "25483:6:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22149,
                  "src": "25452:37:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DataPullReport_$37259_calldata_ptr",
                    "typeString": "struct Witnet.DataPullReport"
                  },
                  "typeName": {
                    "id": 22092,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22091,
                      "name": "Witnet.DataPullReport",
                      "nameLocations": [
                        "25452:6:60",
                        "25459:14:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37259,
                      "src": "25452:21:60"
                    },
                    "referencedDeclaration": 37259,
                    "src": "25452:21:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DataPullReport_$37259_storage_ptr",
                      "typeString": "struct Witnet.DataPullReport"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25387:113:60"
            },
            "returnParameters": {
              "id": 22099,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22096,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22149,
                  "src": "25541:4:60",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22095,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "25541:4:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22098,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22149,
                  "src": "25547:13:60",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 22097,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "25547:6:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25540:21:60"
            },
            "scope": 22249,
            "src": "25356:744:60",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22247,
              "nodeType": "Block",
              "src": "26241:2196:60",
              "statements": [
                {
                  "body": {
                    "id": 22237,
                    "nodeType": "Block",
                    "src": "26296:2092:60",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 22198,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                },
                                "id": 22183,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 22171,
                                        "name": "ff",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22153,
                                        "src": "26337:2:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                                        }
                                      },
                                      "id": 22173,
                                      "indexExpression": {
                                        "id": 22172,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22160,
                                        "src": "26340:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "26337:7:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                        "typeString": "struct Witnet.FastForward calldata"
                                      }
                                    },
                                    "id": 22174,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "26345:6:60",
                                    "memberName": "beacon",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37296,
                                    "src": "26337:14:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                                      "typeString": "struct Witnet.Beacon calldata"
                                    }
                                  },
                                  "id": 22175,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "26352:9:60",
                                  "memberName": "prevIndex",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37231,
                                  "src": "26337:24:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 22176,
                                        "name": "ff",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22153,
                                        "src": "26365:2:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                                        }
                                      },
                                      "id": 22180,
                                      "indexExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 22179,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 22177,
                                          "name": "_ix",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22160,
                                          "src": "26368:3:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "-",
                                        "rightExpression": {
                                          "hexValue": "31",
                                          "id": 22178,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "26374:1:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_1_by_1",
                                            "typeString": "int_const 1"
                                          },
                                          "value": "1"
                                        },
                                        "src": "26368:7:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "26365:11:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                        "typeString": "struct Witnet.FastForward calldata"
                                      }
                                    },
                                    "id": 22181,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "26377:6:60",
                                    "memberName": "beacon",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37296,
                                    "src": "26365:18:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                                      "typeString": "struct Witnet.Beacon calldata"
                                    }
                                  },
                                  "id": 22182,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "26384:5:60",
                                  "memberName": "index",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37229,
                                  "src": "26365:24:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "src": "26337:52:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "&&",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_bytes24",
                                  "typeString": "bytes24"
                                },
                                "id": 22197,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "expression": {
                                      "baseExpression": {
                                        "id": 22184,
                                        "name": "ff",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22153,
                                        "src": "26414:2:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                                        }
                                      },
                                      "id": 22186,
                                      "indexExpression": {
                                        "id": 22185,
                                        "name": "_ix",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22160,
                                        "src": "26417:3:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "26414:7:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                        "typeString": "struct Witnet.FastForward calldata"
                                      }
                                    },
                                    "id": 22187,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "26422:6:60",
                                    "memberName": "beacon",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37296,
                                    "src": "26414:14:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                                      "typeString": "struct Witnet.Beacon calldata"
                                    }
                                  },
                                  "id": 22188,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "26429:8:60",
                                  "memberName": "prevRoot",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37233,
                                  "src": "26414:23:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes24",
                                    "typeString": "bytes24"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "expression": {
                                        "baseExpression": {
                                          "id": 22189,
                                          "name": "ff",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22153,
                                          "src": "26441:2:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                            "typeString": "struct Witnet.FastForward calldata[] calldata"
                                          }
                                        },
                                        "id": 22193,
                                        "indexExpression": {
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 22192,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 22190,
                                            "name": "_ix",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22160,
                                            "src": "26444:3:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "-",
                                          "rightExpression": {
                                            "hexValue": "31",
                                            "id": 22191,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "26450:1:60",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_1_by_1",
                                              "typeString": "int_const 1"
                                            },
                                            "value": "1"
                                          },
                                          "src": "26444:7:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "26441:11:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                          "typeString": "struct Witnet.FastForward calldata"
                                        }
                                      },
                                      "id": 22194,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "26453:6:60",
                                      "memberName": "beacon",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37296,
                                      "src": "26441:18:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                                        "typeString": "struct Witnet.Beacon calldata"
                                      }
                                    },
                                    "id": 22195,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "26460:4:60",
                                    "memberName": "root",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37975,
                                    "src": "26441:23:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_Beacon_$37242_calldata_ptr_$returns$_t_bytes24_$attached_to$_t_struct$_Beacon_$37242_calldata_ptr_$",
                                      "typeString": "function (struct Witnet.Beacon calldata) pure returns (bytes24)"
                                    }
                                  },
                                  "id": 22196,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "26441:25:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes24",
                                    "typeString": "bytes24"
                                  }
                                },
                                "src": "26414:52:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "26337:129:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "hexValue": "6d69736d61746368696e6720626561636f6e73206f6e20666173742d666f727761726420737465702023",
                                      "id": 22203,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "26531:44:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_a7b1ac190fd243ec293383d2b73f595475f32ba89118ac1827f5c29238ec9185",
                                        "typeString": "literal_string \"mismatching beacons on fast-forward step #\""
                                      },
                                      "value": "mismatching beacons on fast-forward step #"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "id": 22206,
                                          "name": "_ix",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22160,
                                          "src": "26614:3:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "id": 22204,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "26598:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 22205,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "26605:8:60",
                                        "memberName": "toString",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 40621,
                                        "src": "26598:15:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
                                          "typeString": "function (uint256) pure returns (string memory)"
                                        }
                                      },
                                      "id": 22207,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "26598:20:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_a7b1ac190fd243ec293383d2b73f595475f32ba89118ac1827f5c29238ec9185",
                                        "typeString": "literal_string \"mismatching beacons on fast-forward step #\""
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    ],
                                    "expression": {
                                      "id": 22201,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "26492:3:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 22202,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "26496:12:60",
                                    "memberName": "encodePacked",
                                    "nodeType": "MemberAccess",
                                    "src": "26492:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 22208,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "26492:145:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 22200,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "26485:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                  "typeString": "type(string storage pointer)"
                                },
                                "typeName": {
                                  "id": 22199,
                                  "name": "string",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "26485:6:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 22209,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "26485:153:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 22170,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "26311:7:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 22210,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "26311:342:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22211,
                        "nodeType": "ExpressionStatement",
                        "src": "26311:342:60"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 22223,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "expression": {
                                    "baseExpression": {
                                      "id": 22213,
                                      "name": "ff",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22153,
                                      "src": "26694:2:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                                        "typeString": "struct Witnet.FastForward calldata[] calldata"
                                      }
                                    },
                                    "id": 22215,
                                    "indexExpression": {
                                      "id": 22214,
                                      "name": "_ix",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22160,
                                      "src": "26697:3:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "26694:7:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                                      "typeString": "struct Witnet.FastForward calldata"
                                    }
                                  },
                                  "id": 22216,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "26702:23:60",
                                  "memberName": "committeeMissingPubkeys",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37305,
                                  "src": "26694:31:60",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_array$_t_uint256_$4_calldata_ptr_$dyn_calldata_ptr",
                                    "typeString": "uint256[4] calldata[] calldata"
                                  }
                                },
                                "id": 22217,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "26726:6:60",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "26694:38:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "components": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    },
                                    "id": 22221,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "expression": {
                                        "id": 22218,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 40741,
                                        "src": "26759:6:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 22219,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "26766:33:60",
                                      "memberName": "WIT_2_FAST_FORWARD_COMMITTEE_SIZE",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 37204,
                                      "src": "26759:40:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint32",
                                        "typeString": "uint32"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "/",
                                    "rightExpression": {
                                      "hexValue": "33",
                                      "id": 22220,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "26802:1:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_3_by_1",
                                        "typeString": "int_const 3"
                                      },
                                      "value": "3"
                                    },
                                    "src": "26759:44:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint32",
                                      "typeString": "uint32"
                                    }
                                  }
                                ],
                                "id": 22222,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "26736:86:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "src": "26694:128:60",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "hexValue": "746f6f206d616e79206d697373696e67207075626b657973206f6e20666173742d666f727761726420737465702023",
                                      "id": 22228,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "26870:49:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_660927f1d3975fbaf8360286ebf165ad3e8e5bce4efe5490c7319bb5a3258834",
                                        "typeString": "literal_string \"too many missing pubkeys on fast-forward step #\""
                                      },
                                      "value": "too many missing pubkeys on fast-forward step #"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "id": 22231,
                                          "name": "_ix",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22160,
                                          "src": "26958:3:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "id": 22229,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "26942:6:60",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 22230,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "26949:8:60",
                                        "memberName": "toString",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 40621,
                                        "src": "26942:15:60",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
                                          "typeString": "function (uint256) pure returns (string memory)"
                                        }
                                      },
                                      "id": 22232,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "26942:20:60",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_660927f1d3975fbaf8360286ebf165ad3e8e5bce4efe5490c7319bb5a3258834",
                                        "typeString": "literal_string \"too many missing pubkeys on fast-forward step #\""
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    ],
                                    "expression": {
                                      "id": 22226,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "26831:3:60",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 22227,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "26835:12:60",
                                    "memberName": "encodePacked",
                                    "nodeType": "MemberAccess",
                                    "src": "26831:16:60",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 22233,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "26831:150:60",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 22225,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "26824:6:60",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                  "typeString": "type(string storage pointer)"
                                },
                                "typeName": {
                                  "id": 22224,
                                  "name": "string",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "26824:6:60",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 22234,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "26824:158:60",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 22212,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "26668:7:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 22235,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "26668:329:60",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22236,
                        "nodeType": "ExpressionStatement",
                        "src": "26668:329:60"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 22166,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 22163,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22160,
                      "src": "26271:3:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 22164,
                        "name": "ff",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22153,
                        "src": "26277:2:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      },
                      "id": 22165,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26280:6:60",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "26277:9:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "26271:15:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22238,
                  "initializationExpression": {
                    "assignments": [
                      22160
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 22160,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "26262:3:60",
                        "nodeType": "VariableDeclaration",
                        "scope": 22238,
                        "src": "26257:8:60",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 22159,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "26257:4:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 22162,
                    "initialValue": {
                      "hexValue": "31",
                      "id": 22161,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "26268:1:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "26257:12:60"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 22168,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "26288:6:60",
                      "subExpression": {
                        "id": 22167,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22160,
                        "src": "26288:3:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 22169,
                    "nodeType": "ExpressionStatement",
                    "src": "26288:6:60"
                  },
                  "nodeType": "ForStatement",
                  "src": "26252:2136:60"
                },
                {
                  "expression": {
                    "expression": {
                      "baseExpression": {
                        "id": 22239,
                        "name": "ff",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22153,
                        "src": "28405:2:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "struct Witnet.FastForward calldata[] calldata"
                        }
                      },
                      "id": 22244,
                      "indexExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 22243,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 22240,
                            "name": "ff",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22153,
                            "src": "28408:2:60",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                              "typeString": "struct Witnet.FastForward calldata[] calldata"
                            }
                          },
                          "id": 22241,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "28411:6:60",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "28408:9:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "hexValue": "31",
                          "id": 22242,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "28420:1:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "28408:13:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28405:17:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_calldata_ptr",
                        "typeString": "struct Witnet.FastForward calldata"
                      }
                    },
                    "id": 22245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "28423:6:60",
                    "memberName": "beacon",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 37296,
                    "src": "28405:24:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                      "typeString": "struct Witnet.Beacon calldata"
                    }
                  },
                  "functionReturnParameters": 22158,
                  "id": 22246,
                  "nodeType": "Return",
                  "src": "28398:31:60"
                }
              ]
            },
            "id": 22248,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_verifyFastForwards",
            "nameLocation": "26117:19:60",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22153,
                  "mutability": "mutable",
                  "name": "ff",
                  "nameLocation": "26167:2:60",
                  "nodeType": "VariableDeclaration",
                  "scope": 22248,
                  "src": "26137:32:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "struct Witnet.FastForward[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22151,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22150,
                        "name": "Witnet.FastForward",
                        "nameLocations": [
                          "26137:6:60",
                          "26144:11:60"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37306,
                        "src": "26137:18:60"
                      },
                      "referencedDeclaration": 37306,
                      "src": "26137:18:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_FastForward_$37306_storage_ptr",
                        "typeString": "struct Witnet.FastForward"
                      }
                    },
                    "id": 22152,
                    "nodeType": "ArrayTypeName",
                    "src": "26137:20:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_FastForward_$37306_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.FastForward[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26136:34:60"
            },
            "returnParameters": {
              "id": 22158,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22157,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22248,
                  "src": "26212:22:60",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Beacon_$37242_calldata_ptr",
                    "typeString": "struct Witnet.Beacon"
                  },
                  "typeName": {
                    "id": 22156,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22155,
                      "name": "Witnet.Beacon",
                      "nameLocations": [
                        "26212:6:60",
                        "26219:6:60"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37242,
                      "src": "26212:13:60"
                    },
                    "referencedDeclaration": 37242,
                    "src": "26212:13:60",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Beacon_$37242_storage_ptr",
                      "typeString": "struct Witnet.Beacon"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26211:24:60"
            },
            "scope": 22249,
            "src": "26108:2329:60",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "scope": 22250,
        "src": "327:28113:60",
        "usedErrors": [
          40746,
          40752,
          42702,
          42708,
          42716
        ],
        "usedEvents": [
          26863,
          27636,
          45529,
          45535,
          45541,
          45547,
          45553,
          45721
        ]
      }
    ],
    "src": "35:28407:60"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.844Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {},
    "title": "Trustless Witnet Request Board data library extension",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "burn(address,uint256)": {
        "notice": "======================================================================= --- Escrowable --------------------------------------------------------"
      },
      "claimQueryReward(uint256,uint256,uint256)": {
        "notice": "======================================================================= --- IWitOracleQueriableTrustlessReporter ---------------------------------------"
      },
      "deleteQueryTrustlessly(uint256,uint256,uint256)": {
        "notice": "======================================================================= --- IWitOracle --------------------------------------------------------"
      }
    },
    "version": 1
  }
}