{
  "contractName": "WitnetOracleDataLib",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "registry",
          "type": "WitnetRequestBytecodes"
        },
        {
          "internalType": "uint256[]",
          "name": "queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus",
          "name": "self",
          "type": "WitnetV2.QueryStatus"
        }
      ],
      "name": "notInStatusRevertMessage",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"registry\",\"type\":\"WitnetRequestBytecodes\"},{\"internalType\":\"uint256[]\",\"name\":\"queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus\",\"name\":\"self\",\"type\":\"WitnetV2.QueryStatus\"}],\"name\":\"notInStatusRevertMessage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Witnet Request Board base data model library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/data/WitnetOracleDataLib.sol\":\"WitnetOracleDataLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/data/WitnetOracleDataLib.sol\":{\"keccak256\":\"0x03c8b61605f0c5324047aa99c896fe189933e3e9a59b070b9b3ea6141f7db960\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cedd0416337f718a44bbbaf53efa99ba490f7de1e6ab45f6bdf29e03082aa29d\",\"dweb:/ipfs/Qmb8RUaZEFX5CvE1VTYpTrm1EhM62gAUcZ4dGt3w39gZBA\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]}},\"version\":1}",
  "bytecode": "0x610819610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063014728c414610045578063a7d10ea21461006e575b600080fd5b610058610053366004610476565b61008e565b604051610065919061055a565b60405180910390f35b61008161007c3660046105be565b6102c6565b60405161006591906105e6565b60608167ffffffffffffffff8111156100a9576100a96105f9565b6040519080825280602002602001820160405280156100dc57816020015b60608152602001906001900390816100c75790505b50905060005b828110156102be57600061010d85858481811061010157610101610625565b905060200201356103e2565b600381111561011e5761011e61060f565b146102b65760007ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1848186868581811061015957610159610625565b90506020020135815260200190815260200160002060000190506000801b81600201541461021d57600281015460405163f4f07e9960e01b81526001600160a01b0388169163f4f07e99916101b69190600386019060040161063b565b600060405180830381865afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101fb9190810190610666565b83838151811061020d5761020d610625565b60200260200101819052506102b4565b604051630a09948b60e41b81526001600160a01b0387169063a09948b0906102519060018501906003860190600401610713565b600060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102969190810190610666565b8383815181106102a8576102a8610625565b60200260200101819052505b505b6001016100e2565b509392505050565b606060018260038111156102dc576102dc61060f565b0361031a57505060408051808201909152601a81527f7175657279206e6f7420696e20506f7374656420737461747573000000000000602082015290565b600282600381111561032e5761032e61060f565b0361036c57505060408051808201909152601c81527f7175657279206e6f7420696e205265706f727465642073746174757300000000602082015290565b60038260038111156103805761038061060f565b036103be57505060408051808201909152601d81527f7175657279206e6f7420696e2046696e616c697a656420737461747573000000602082015290565b5050604080518082019091526008815267189859081b5bdbd960c21b602082015290565b60008181527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184602052604081206004810154600160e01b900463ffffffff1615610454576004810154600160a01b900467ffffffffffffffff16431061044b5750600392915050565b50600292915050565b80546001600160a01b03161561046d5750600192915050565b50600092915050565b60008060006040848603121561048b57600080fd5b83356001600160a01b03811681146104a257600080fd5b9250602084013567ffffffffffffffff808211156104bf57600080fd5b818601915086601f8301126104d357600080fd5b8135818111156104e257600080fd5b8760208260051b85010111156104f757600080fd5b6020830194508093505050509250925092565b60005b8381101561052557818101518382015260200161050d565b50506000910152565b6000815180845261054681602086016020860161050a565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156105b157603f1988860301845261059f85835161052e565b94509285019290850190600101610583565b5092979650505050505050565b6000602082840312156105d057600080fd5b8135600481106105df57600080fd5b9392505050565b6020815260006105df602083018461052e565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b828152606081016105df60208301845460ff8116825260081c67ffffffffffffffff16602090910152565b60006020828403121561067857600080fd5b815167ffffffffffffffff8082111561069057600080fd5b818401915084601f8301126106a457600080fd5b8151818111156106b6576106b66105f9565b604051601f8201601f19908116603f011681019083821181831017156106de576106de6105f9565b816040528281528760208487010111156106f757600080fd5b61070883602083016020880161050a565b979650505050505050565b6060815260008084548160018260011c9150600183168061073557607f831692505b6020808410820361075457634e487b7160e01b86526022600452602486fd5b60608801849052608088018280156107735760018114610789576107b4565b60ff198716825285151560051b820197506107b4565b60008c81526020902060005b878110156107ae57815484820152908601908401610795565b83019850505b50505050505050809150506105df60208301845460ff8116825260081c67ffffffffffffffff1660209091015256fea2646970667358221220cc5cd915eb701df0d3a352731de3a1efcbbd3138a910b34750ef51161758e5ab64736f6c63430008190033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063014728c414610045578063a7d10ea21461006e575b600080fd5b610058610053366004610476565b61008e565b604051610065919061055a565b60405180910390f35b61008161007c3660046105be565b6102c6565b60405161006591906105e6565b60608167ffffffffffffffff8111156100a9576100a96105f9565b6040519080825280602002602001820160405280156100dc57816020015b60608152602001906001900390816100c75790505b50905060005b828110156102be57600061010d85858481811061010157610101610625565b905060200201356103e2565b600381111561011e5761011e61060f565b146102b65760007ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1848186868581811061015957610159610625565b90506020020135815260200190815260200160002060000190506000801b81600201541461021d57600281015460405163f4f07e9960e01b81526001600160a01b0388169163f4f07e99916101b69190600386019060040161063b565b600060405180830381865afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101fb9190810190610666565b83838151811061020d5761020d610625565b60200260200101819052506102b4565b604051630a09948b60e41b81526001600160a01b0387169063a09948b0906102519060018501906003860190600401610713565b600060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102969190810190610666565b8383815181106102a8576102a8610625565b60200260200101819052505b505b6001016100e2565b509392505050565b606060018260038111156102dc576102dc61060f565b0361031a57505060408051808201909152601a81527f7175657279206e6f7420696e20506f7374656420737461747573000000000000602082015290565b600282600381111561032e5761032e61060f565b0361036c57505060408051808201909152601c81527f7175657279206e6f7420696e205265706f727465642073746174757300000000602082015290565b60038260038111156103805761038061060f565b036103be57505060408051808201909152601d81527f7175657279206e6f7420696e2046696e616c697a656420737461747573000000602082015290565b5050604080518082019091526008815267189859081b5bdbd960c21b602082015290565b60008181527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184602052604081206004810154600160e01b900463ffffffff1615610454576004810154600160a01b900467ffffffffffffffff16431061044b5750600392915050565b50600292915050565b80546001600160a01b03161561046d5750600192915050565b50600092915050565b60008060006040848603121561048b57600080fd5b83356001600160a01b03811681146104a257600080fd5b9250602084013567ffffffffffffffff808211156104bf57600080fd5b818601915086601f8301126104d357600080fd5b8135818111156104e257600080fd5b8760208260051b85010111156104f757600080fd5b6020830194508093505050509250925092565b60005b8381101561052557818101518382015260200161050d565b50506000910152565b6000815180845261054681602086016020860161050a565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156105b157603f1988860301845261059f85835161052e565b94509285019290850190600101610583565b5092979650505050505050565b6000602082840312156105d057600080fd5b8135600481106105df57600080fd5b9392505050565b6020815260006105df602083018461052e565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b828152606081016105df60208301845460ff8116825260081c67ffffffffffffffff16602090910152565b60006020828403121561067857600080fd5b815167ffffffffffffffff8082111561069057600080fd5b818401915084601f8301126106a457600080fd5b8151818111156106b6576106b66105f9565b604051601f8201601f19908116603f011681019083821181831017156106de576106de6105f9565b816040528281528760208487010111156106f757600080fd5b61070883602083016020880161050a565b979650505050505050565b6060815260008084548160018260011c9150600183168061073557607f831692505b6020808410820361075457634e487b7160e01b86526022600452602486fd5b60608801849052608088018280156107735760018114610789576107b4565b60ff198716825285151560051b820197506107b4565b60008c81526020902060005b878110156107ae57815484820152908601908401610795565b83019850505b50505050505050809150506105df60208301845460ff8116825260081c67ffffffffffffffff1660209091015256fea2646970667358221220cc5cd915eb701df0d3a352731de3a1efcbbd3138a910b34750ef51161758e5ab64736f6c63430008190033",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:6222:84",
        "nodeType": "YulBlock",
        "src": "0:6222:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "166:667:84",
              "nodeType": "YulBlock",
              "src": "166:667:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "212:16:84",
                    "nodeType": "YulBlock",
                    "src": "212:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "221:1:84",
                              "nodeType": "YulLiteral",
                              "src": "221:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "224:1:84",
                              "nodeType": "YulLiteral",
                              "src": "224:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "214:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "214:6:84"
                          },
                          "nativeSrc": "214:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "214:12:84"
                        },
                        "nativeSrc": "214:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "214:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "187:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "187:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "196:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "196:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "183:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "183:3:84"
                        },
                        "nativeSrc": "183:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "183:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "208:2:84",
                        "nodeType": "YulLiteral",
                        "src": "208:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "179:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "179:3:84"
                    },
                    "nativeSrc": "179:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "179:32:84"
                  },
                  "nativeSrc": "176:52:84",
                  "nodeType": "YulIf",
                  "src": "176:52:84"
                },
                {
                  "nativeSrc": "237:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "237:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "263:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "263:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "250:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "250:12:84"
                    },
                    "nativeSrc": "250:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "250:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "241:5:84",
                      "nodeType": "YulTypedName",
                      "src": "241:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "336:16:84",
                    "nodeType": "YulBlock",
                    "src": "336:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "345:1:84",
                              "nodeType": "YulLiteral",
                              "src": "345:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "348:1:84",
                              "nodeType": "YulLiteral",
                              "src": "348:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "338:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "338:6:84"
                          },
                          "nativeSrc": "338:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "338:12:84"
                        },
                        "nativeSrc": "338:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "338:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "295:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "295:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "306:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "306:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "321:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "321:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "326:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "326:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "317:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "317:3:84"
                                    },
                                    "nativeSrc": "317:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "317:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "330:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "330:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "313:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "313:3:84"
                                },
                                "nativeSrc": "313:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "313:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "302:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "302:3:84"
                            },
                            "nativeSrc": "302:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "302:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "292:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "292:2:84"
                        },
                        "nativeSrc": "292:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "292:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "285:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "285:6:84"
                    },
                    "nativeSrc": "285:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "285:50:84"
                  },
                  "nativeSrc": "282:70:84",
                  "nodeType": "YulIf",
                  "src": "282:70:84"
                },
                {
                  "nativeSrc": "361:15:84",
                  "nodeType": "YulAssignment",
                  "src": "361:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "371:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "371:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "361:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "385:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "385:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "416:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "416:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "427:2:84",
                            "nodeType": "YulLiteral",
                            "src": "427:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "412:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "412:3:84"
                        },
                        "nativeSrc": "412:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "412:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "399:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "399:12:84"
                    },
                    "nativeSrc": "399:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "399:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "389:6:84",
                      "nodeType": "YulTypedName",
                      "src": "389:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "440:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "440:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "450:18:84",
                    "nodeType": "YulLiteral",
                    "src": "450:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "444:2:84",
                      "nodeType": "YulTypedName",
                      "src": "444:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "495:16:84",
                    "nodeType": "YulBlock",
                    "src": "495:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "504:1:84",
                              "nodeType": "YulLiteral",
                              "src": "504:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "507:1:84",
                              "nodeType": "YulLiteral",
                              "src": "507:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "497:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "497:6:84"
                          },
                          "nativeSrc": "497:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "497:12:84"
                        },
                        "nativeSrc": "497:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "497:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "483:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "483:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "491:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "491:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "480:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "480:2:84"
                    },
                    "nativeSrc": "480:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "480:14:84"
                  },
                  "nativeSrc": "477:34:84",
                  "nodeType": "YulIf",
                  "src": "477:34:84"
                },
                {
                  "nativeSrc": "520:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "520:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "534:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "534:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "545:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "545:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "530:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "530:3:84"
                    },
                    "nativeSrc": "530:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "530:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "524:2:84",
                      "nodeType": "YulTypedName",
                      "src": "524:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "600:16:84",
                    "nodeType": "YulBlock",
                    "src": "600:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "609:1:84",
                              "nodeType": "YulLiteral",
                              "src": "609:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "612:1:84",
                              "nodeType": "YulLiteral",
                              "src": "612:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "602:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "602:6:84"
                          },
                          "nativeSrc": "602:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "602:12:84"
                        },
                        "nativeSrc": "602:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "602:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "579:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "579:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "583:4:84",
                                "nodeType": "YulLiteral",
                                "src": "583:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "575:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "575:3:84"
                            },
                            "nativeSrc": "575:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "575:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "590:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "590:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "571:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "571:3:84"
                        },
                        "nativeSrc": "571:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "571:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "564:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "564:6:84"
                    },
                    "nativeSrc": "564:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "564:35:84"
                  },
                  "nativeSrc": "561:55:84",
                  "nodeType": "YulIf",
                  "src": "561:55:84"
                },
                {
                  "nativeSrc": "625:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "625:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "652:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "652:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "639:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "639:12:84"
                    },
                    "nativeSrc": "639:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "639:16:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "629:6:84",
                      "nodeType": "YulTypedName",
                      "src": "629:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "682:16:84",
                    "nodeType": "YulBlock",
                    "src": "682:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "691:1:84",
                              "nodeType": "YulLiteral",
                              "src": "691:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "694:1:84",
                              "nodeType": "YulLiteral",
                              "src": "694:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "684:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "684:6:84"
                          },
                          "nativeSrc": "684:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "684:12:84"
                        },
                        "nativeSrc": "684:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "684:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "670:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "670:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "678:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "678:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "667:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "667:2:84"
                    },
                    "nativeSrc": "667:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "667:14:84"
                  },
                  "nativeSrc": "664:34:84",
                  "nodeType": "YulIf",
                  "src": "664:34:84"
                },
                {
                  "body": {
                    "nativeSrc": "756:16:84",
                    "nodeType": "YulBlock",
                    "src": "756:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "765:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "768:1:84",
                              "nodeType": "YulLiteral",
                              "src": "768:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "758:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "758:6:84"
                          },
                          "nativeSrc": "758:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "758:12:84"
                        },
                        "nativeSrc": "758:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "758:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "721:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "721:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "729:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "729:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "732:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "732:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "725:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "725:3:84"
                                },
                                "nativeSrc": "725:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "725:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "717:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "717:3:84"
                            },
                            "nativeSrc": "717:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "717:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "742:2:84",
                            "nodeType": "YulLiteral",
                            "src": "742:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "713:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "713:3:84"
                        },
                        "nativeSrc": "713:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "713:32:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "747:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "747:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "710:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "710:2:84"
                    },
                    "nativeSrc": "710:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "710:45:84"
                  },
                  "nativeSrc": "707:65:84",
                  "nodeType": "YulIf",
                  "src": "707:65:84"
                },
                {
                  "nativeSrc": "781:21:84",
                  "nodeType": "YulAssignment",
                  "src": "781:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "795:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "795:2:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "799:2:84",
                        "nodeType": "YulLiteral",
                        "src": "799:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "791:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "791:3:84"
                    },
                    "nativeSrc": "791:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "791:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "781:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "781:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "811:16:84",
                  "nodeType": "YulAssignment",
                  "src": "811:16:84",
                  "value": {
                    "name": "length",
                    "nativeSrc": "821:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "821:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "811:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "811:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849t_array$_t_uint256_$dyn_calldata_ptr",
            "nativeSrc": "14:819:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "116:9:84",
                "nodeType": "YulTypedName",
                "src": "116:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "127:7:84",
                "nodeType": "YulTypedName",
                "src": "127:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "139:6:84",
                "nodeType": "YulTypedName",
                "src": "139:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "147:6:84",
                "nodeType": "YulTypedName",
                "src": "147:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "155:6:84",
                "nodeType": "YulTypedName",
                "src": "155:6:84",
                "type": ""
              }
            ],
            "src": "14:819:84"
          },
          {
            "body": {
              "nativeSrc": "932:73:84",
              "nodeType": "YulBlock",
              "src": "932:73:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "949:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "949:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "954:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "954:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "942:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "942:6:84"
                    },
                    "nativeSrc": "942:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "942:19:84"
                  },
                  "nativeSrc": "942:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "942:19:84"
                },
                {
                  "nativeSrc": "970:29:84",
                  "nodeType": "YulAssignment",
                  "src": "970:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "989:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "989:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "994:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "985:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "985:3:84"
                    },
                    "nativeSrc": "985:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "985:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "updated_pos",
                      "nativeSrc": "970:11:84",
                      "nodeType": "YulIdentifier",
                      "src": "970:11:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_storeLengthForEncoding_array_bytes_dyn_library",
            "nativeSrc": "838:167:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "900:3:84",
                "nodeType": "YulTypedName",
                "src": "900:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "905:6:84",
                "nodeType": "YulTypedName",
                "src": "905:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "updated_pos",
                "nativeSrc": "916:11:84",
                "nodeType": "YulTypedName",
                "src": "916:11:84",
                "type": ""
              }
            ],
            "src": "838:167:84"
          },
          {
            "body": {
              "nativeSrc": "1076:184:84",
              "nodeType": "YulBlock",
              "src": "1076:184:84",
              "statements": [
                {
                  "nativeSrc": "1086:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1086:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1095:1:84",
                    "nodeType": "YulLiteral",
                    "src": "1095:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "1090:1:84",
                      "nodeType": "YulTypedName",
                      "src": "1090:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1155:63:84",
                    "nodeType": "YulBlock",
                    "src": "1155:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "1180:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1180:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "1185:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1185:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "1176:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "1176:3:84"
                              },
                              "nativeSrc": "1176:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "1176:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "1199:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1199:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "1204:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1204:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "1195:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1195:3:84"
                                  },
                                  "nativeSrc": "1195:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1195:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "1189:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1189:5:84"
                              },
                              "nativeSrc": "1189:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "1189:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1169:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1169:6:84"
                          },
                          "nativeSrc": "1169:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1169:39:84"
                        },
                        "nativeSrc": "1169:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1169:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "1116:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "1116:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1119:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1119:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1113:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1113:2:84"
                    },
                    "nativeSrc": "1113:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1113:13:84"
                  },
                  "nativeSrc": "1105:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1127:19:84",
                    "nodeType": "YulBlock",
                    "src": "1127:19:84",
                    "statements": [
                      {
                        "nativeSrc": "1129:15:84",
                        "nodeType": "YulAssignment",
                        "src": "1129:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "1138:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "1138:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1141:2:84",
                              "nodeType": "YulLiteral",
                              "src": "1141:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1134:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1134:3:84"
                          },
                          "nativeSrc": "1134:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1134:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "1129:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "1129:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1109:3:84",
                    "nodeType": "YulBlock",
                    "src": "1109:3:84",
                    "statements": []
                  },
                  "src": "1105:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "1238:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1238:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "1243:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1243:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1234:3:84"
                        },
                        "nativeSrc": "1234:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1234:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1252:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1252:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1227:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1227:6:84"
                    },
                    "nativeSrc": "1227:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1227:27:84"
                  },
                  "nativeSrc": "1227:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1227:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "1010:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "1054:3:84",
                "nodeType": "YulTypedName",
                "src": "1054:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "1059:3:84",
                "nodeType": "YulTypedName",
                "src": "1059:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "1064:6:84",
                "nodeType": "YulTypedName",
                "src": "1064:6:84",
                "type": ""
              }
            ],
            "src": "1010:250:84"
          },
          {
            "body": {
              "nativeSrc": "1314:221:84",
              "nodeType": "YulBlock",
              "src": "1314:221:84",
              "statements": [
                {
                  "nativeSrc": "1324:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1324:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1344:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1344:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1338:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1338:5:84"
                    },
                    "nativeSrc": "1338:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1338:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1328:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1328:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1366:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "1366:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1371:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1371:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1359:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1359:6:84"
                    },
                    "nativeSrc": "1359:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1359:19:84"
                  },
                  "nativeSrc": "1359:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1359:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1426:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1426:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1433:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1433:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1422:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1422:3:84"
                        },
                        "nativeSrc": "1422:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1422:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1444:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1444:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1449:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1449:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1440:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1440:3:84"
                        },
                        "nativeSrc": "1440:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1440:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1456:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1456:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1387:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1387:34:84"
                    },
                    "nativeSrc": "1387:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1387:76:84"
                  },
                  "nativeSrc": "1387:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1387:76:84"
                },
                {
                  "nativeSrc": "1472:57:84",
                  "nodeType": "YulAssignment",
                  "src": "1472:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1487:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1487:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "1500:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1500:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1508:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1508:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1496:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1496:3:84"
                                },
                                "nativeSrc": "1496:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1496:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1517:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1517:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "1513:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1513:3:84"
                                },
                                "nativeSrc": "1513:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1513:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1492:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1492:3:84"
                            },
                            "nativeSrc": "1492:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1492:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1483:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1483:3:84"
                        },
                        "nativeSrc": "1483:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1483:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1524:4:84",
                        "nodeType": "YulLiteral",
                        "src": "1524:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1479:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1479:3:84"
                    },
                    "nativeSrc": "1479:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1479:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1472:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1472:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "1265:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1291:5:84",
                "nodeType": "YulTypedName",
                "src": "1291:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1298:3:84",
                "nodeType": "YulTypedName",
                "src": "1298:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1306:3:84",
                "nodeType": "YulTypedName",
                "src": "1306:3:84",
                "type": ""
              }
            ],
            "src": "1265:270:84"
          },
          {
            "body": {
              "nativeSrc": "1717:631:84",
              "nodeType": "YulBlock",
              "src": "1717:631:84",
              "statements": [
                {
                  "nativeSrc": "1727:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1727:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1737:2:84",
                    "nodeType": "YulLiteral",
                    "src": "1737:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1731:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1731:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1748:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1748:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1766:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1766:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1777:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1777:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1762:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1762:3:84"
                    },
                    "nativeSrc": "1762:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1762:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "1752:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1752:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1796:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1796:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1807:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1807:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1789:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1789:6:84"
                    },
                    "nativeSrc": "1789:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1789:21:84"
                  },
                  "nativeSrc": "1789:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1789:21:84"
                },
                {
                  "nativeSrc": "1819:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1819:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "1830:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "1830:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "1823:3:84",
                      "nodeType": "YulTypedName",
                      "src": "1823:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1845:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1845:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1865:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1865:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1859:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1859:5:84"
                    },
                    "nativeSrc": "1859:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1859:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1849:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1849:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "1888:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1888:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1896:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1896:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1881:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1881:6:84"
                    },
                    "nativeSrc": "1881:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1881:22:84"
                  },
                  "nativeSrc": "1881:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1881:22:84"
                },
                {
                  "nativeSrc": "1912:25:84",
                  "nodeType": "YulAssignment",
                  "src": "1912:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1923:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1923:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1934:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1934:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1919:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1919:3:84"
                    },
                    "nativeSrc": "1919:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1919:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "1912:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1912:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1946:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1946:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1968:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1968:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "1983:1:84",
                                "nodeType": "YulLiteral",
                                "src": "1983:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "1986:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1986:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "1979:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1979:3:84"
                            },
                            "nativeSrc": "1979:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1979:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1964:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1964:3:84"
                        },
                        "nativeSrc": "1964:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1964:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1996:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1996:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1960:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1960:3:84"
                    },
                    "nativeSrc": "1960:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1960:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "1950:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1950:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2008:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2008:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2026:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2026:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2034:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2034:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2022:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2022:3:84"
                    },
                    "nativeSrc": "2022:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2022:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "2012:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2012:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2046:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2046:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2055:1:84",
                    "nodeType": "YulLiteral",
                    "src": "2055:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "2050:1:84",
                      "nodeType": "YulTypedName",
                      "src": "2050:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2114:205:84",
                    "nodeType": "YulBlock",
                    "src": "2114:205:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2135:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2135:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "2148:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2148:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "2156:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2156:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "2144:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2144:3:84"
                                  },
                                  "nativeSrc": "2144:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2144:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "2172:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "2172:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "2168:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2168:3:84"
                                  },
                                  "nativeSrc": "2168:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2168:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "2140:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "2140:3:84"
                              },
                              "nativeSrc": "2140:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2140:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2128:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2128:6:84"
                          },
                          "nativeSrc": "2128:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2128:49:84"
                        },
                        "nativeSrc": "2128:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2128:49:84"
                      },
                      {
                        "nativeSrc": "2190:49:84",
                        "nodeType": "YulAssignment",
                        "src": "2190:49:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "2223:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2223:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "2217:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2217:5:84"
                              },
                              "nativeSrc": "2217:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2217:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "2232:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "2232:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_bytes",
                            "nativeSrc": "2200:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "2200:16:84"
                          },
                          "nativeSrc": "2200:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2200:39:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "2190:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2190:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2252:25:84",
                        "nodeType": "YulAssignment",
                        "src": "2252:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "2266:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "2266:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "2274:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "2274:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2262:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2262:3:84"
                          },
                          "nativeSrc": "2262:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2262:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "2252:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2252:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2290:19:84",
                        "nodeType": "YulAssignment",
                        "src": "2290:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2301:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2301:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "2306:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "2306:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2297:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2297:3:84"
                          },
                          "nativeSrc": "2297:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2297:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "2290:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2290:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "2076:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "2076:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2079:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2079:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "2073:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2073:2:84"
                    },
                    "nativeSrc": "2073:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2073:13:84"
                  },
                  "nativeSrc": "2065:254:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "2087:18:84",
                    "nodeType": "YulBlock",
                    "src": "2087:18:84",
                    "statements": [
                      {
                        "nativeSrc": "2089:14:84",
                        "nodeType": "YulAssignment",
                        "src": "2089:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "2098:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "2098:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2101:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2101:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2094:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2094:3:84"
                          },
                          "nativeSrc": "2094:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2094:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "2089:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "2089:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "2069:3:84",
                    "nodeType": "YulBlock",
                    "src": "2069:3:84",
                    "statements": []
                  },
                  "src": "2065:254:84"
                },
                {
                  "nativeSrc": "2328:14:84",
                  "nodeType": "YulAssignment",
                  "src": "2328:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "2336:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "2336:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2328:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2328:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "1540:808:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1686:9:84",
                "nodeType": "YulTypedName",
                "src": "1686:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1697:6:84",
                "nodeType": "YulTypedName",
                "src": "1697:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1708:4:84",
                "nodeType": "YulTypedName",
                "src": "1708:4:84",
                "type": ""
              }
            ],
            "src": "1540:808:84"
          },
          {
            "body": {
              "nativeSrc": "2440:186:84",
              "nodeType": "YulBlock",
              "src": "2440:186:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2486:16:84",
                    "nodeType": "YulBlock",
                    "src": "2486:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2495:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2495:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2498:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2498:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2488:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2488:6:84"
                          },
                          "nativeSrc": "2488:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2488:12:84"
                        },
                        "nativeSrc": "2488:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2488:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2461:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2461:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2470:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2470:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2457:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2457:3:84"
                        },
                        "nativeSrc": "2457:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2457:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2482:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2482:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2453:3:84"
                    },
                    "nativeSrc": "2453:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2453:32:84"
                  },
                  "nativeSrc": "2450:52:84",
                  "nodeType": "YulIf",
                  "src": "2450:52:84"
                },
                {
                  "nativeSrc": "2511:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2511:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2537:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2537:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2524:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2524:12:84"
                    },
                    "nativeSrc": "2524:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2524:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "2515:5:84",
                      "nodeType": "YulTypedName",
                      "src": "2515:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2580:16:84",
                    "nodeType": "YulBlock",
                    "src": "2580:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2589:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2589:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2592:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2592:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2582:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2582:6:84"
                          },
                          "nativeSrc": "2582:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2582:12:84"
                        },
                        "nativeSrc": "2582:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2582:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2569:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2569:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2576:1:84",
                            "nodeType": "YulLiteral",
                            "src": "2576:1:84",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "2566:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2566:2:84"
                        },
                        "nativeSrc": "2566:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2566:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2559:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2559:6:84"
                    },
                    "nativeSrc": "2559:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2559:20:84"
                  },
                  "nativeSrc": "2556:40:84",
                  "nodeType": "YulIf",
                  "src": "2556:40:84"
                },
                {
                  "nativeSrc": "2605:15:84",
                  "nodeType": "YulAssignment",
                  "src": "2605:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "2615:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "2615:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2605:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2605:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_QueryStatus_$23461",
            "nativeSrc": "2353:273:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2406:9:84",
                "nodeType": "YulTypedName",
                "src": "2406:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2417:7:84",
                "nodeType": "YulTypedName",
                "src": "2417:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2429:6:84",
                "nodeType": "YulTypedName",
                "src": "2429:6:84",
                "type": ""
              }
            ],
            "src": "2353:273:84"
          },
          {
            "body": {
              "nativeSrc": "2760:98:84",
              "nodeType": "YulBlock",
              "src": "2760:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2777:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2777:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2788:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2788:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2770:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2770:6:84"
                    },
                    "nativeSrc": "2770:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2770:21:84"
                  },
                  "nativeSrc": "2770:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2770:21:84"
                },
                {
                  "nativeSrc": "2800:52:84",
                  "nodeType": "YulAssignment",
                  "src": "2800:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2825:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2825:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2837:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2837:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2848:2:84",
                            "nodeType": "YulLiteral",
                            "src": "2848:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2833:3:84"
                        },
                        "nativeSrc": "2833:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2833:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "2808:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "2808:16:84"
                    },
                    "nativeSrc": "2808:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2808:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2800:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2800:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "2631:227:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2729:9:84",
                "nodeType": "YulTypedName",
                "src": "2729:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2740:6:84",
                "nodeType": "YulTypedName",
                "src": "2740:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2751:4:84",
                "nodeType": "YulTypedName",
                "src": "2751:4:84",
                "type": ""
              }
            ],
            "src": "2631:227:84"
          },
          {
            "body": {
              "nativeSrc": "2895:95:84",
              "nodeType": "YulBlock",
              "src": "2895:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "2912:1:84",
                        "nodeType": "YulLiteral",
                        "src": "2912:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "2919:3:84",
                            "nodeType": "YulLiteral",
                            "src": "2919:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2924:10:84",
                            "nodeType": "YulLiteral",
                            "src": "2924:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "2915:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2915:3:84"
                        },
                        "nativeSrc": "2915:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2915:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2905:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2905:6:84"
                    },
                    "nativeSrc": "2905:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2905:31:84"
                  },
                  "nativeSrc": "2905:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2905:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "2952:1:84",
                        "nodeType": "YulLiteral",
                        "src": "2952:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2955:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2955:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2945:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2945:6:84"
                    },
                    "nativeSrc": "2945:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2945:15:84"
                  },
                  "nativeSrc": "2945:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2945:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "2976:1:84",
                        "nodeType": "YulLiteral",
                        "src": "2976:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2979:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2979:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "2969:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2969:6:84"
                    },
                    "nativeSrc": "2969:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2969:15:84"
                  },
                  "nativeSrc": "2969:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2969:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "2863:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "2863:127:84"
          },
          {
            "body": {
              "nativeSrc": "3027:95:84",
              "nodeType": "YulBlock",
              "src": "3027:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3044:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3044:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3051:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3051:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3056:10:84",
                            "nodeType": "YulLiteral",
                            "src": "3056:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "3047:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3047:3:84"
                        },
                        "nativeSrc": "3047:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3047:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3037:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3037:6:84"
                    },
                    "nativeSrc": "3037:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3037:31:84"
                  },
                  "nativeSrc": "3037:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3037:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3084:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3084:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3087:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3087:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3077:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3077:6:84"
                    },
                    "nativeSrc": "3077:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3077:15:84"
                  },
                  "nativeSrc": "3077:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3077:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3108:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3108:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3111:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3111:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "3101:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3101:6:84"
                    },
                    "nativeSrc": "3101:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3101:15:84"
                  },
                  "nativeSrc": "3101:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3101:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "2995:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "2995:127:84"
          },
          {
            "body": {
              "nativeSrc": "3159:95:84",
              "nodeType": "YulBlock",
              "src": "3159:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3176:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3176:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3183:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3183:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3188:10:84",
                            "nodeType": "YulLiteral",
                            "src": "3188:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "3179:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3179:3:84"
                        },
                        "nativeSrc": "3179:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3179:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3169:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3169:6:84"
                    },
                    "nativeSrc": "3169:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3169:31:84"
                  },
                  "nativeSrc": "3169:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3169:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3216:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3216:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3219:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3219:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3209:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3209:6:84"
                    },
                    "nativeSrc": "3209:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3209:15:84"
                  },
                  "nativeSrc": "3209:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3209:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3240:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3240:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3243:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3243:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "3233:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3233:6:84"
                    },
                    "nativeSrc": "3233:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3233:15:84"
                  },
                  "nativeSrc": "3233:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3233:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "3127:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "3127:127:84"
          },
          {
            "body": {
              "nativeSrc": "3319:162:84",
              "nodeType": "YulBlock",
              "src": "3319:162:84",
              "statements": [
                {
                  "nativeSrc": "3329:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3329:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3352:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3352:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "3346:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3346:5:84"
                    },
                    "nativeSrc": "3346:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3346:12:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "3333:9:84",
                      "nodeType": "YulTypedName",
                      "src": "3333:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3374:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3374:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "slotValue",
                            "nativeSrc": "3383:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3383:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3394:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3394:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3379:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3379:3:84"
                        },
                        "nativeSrc": "3379:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3379:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3367:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3367:6:84"
                    },
                    "nativeSrc": "3367:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3367:33:84"
                  },
                  "nativeSrc": "3367:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3367:33:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3420:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3420:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3425:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3425:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3416:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3416:3:84"
                        },
                        "nativeSrc": "3416:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3416:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "3440:1:84",
                                "nodeType": "YulLiteral",
                                "src": "3440:1:84",
                                "type": "",
                                "value": "8"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "3443:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "3443:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "3436:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3436:3:84"
                            },
                            "nativeSrc": "3436:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3436:17:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3455:18:84",
                            "nodeType": "YulLiteral",
                            "src": "3455:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3432:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3432:3:84"
                        },
                        "nativeSrc": "3432:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3432:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3409:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3409:6:84"
                    },
                    "nativeSrc": "3409:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3409:66:84"
                  },
                  "nativeSrc": "3409:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3409:66:84"
                }
              ]
            },
            "name": "abi_encode_struct_RadonSLA_storage",
            "nativeSrc": "3259:222:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3303:5:84",
                "nodeType": "YulTypedName",
                "src": "3303:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3310:3:84",
                "nodeType": "YulTypedName",
                "src": "3310:3:84",
                "type": ""
              }
            ],
            "src": "3259:222:84"
          },
          {
            "body": {
              "nativeSrc": "3666:147:84",
              "nodeType": "YulBlock",
              "src": "3666:147:84",
              "statements": [
                {
                  "nativeSrc": "3676:26:84",
                  "nodeType": "YulAssignment",
                  "src": "3676:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3688:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3688:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3699:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3699:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3684:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3684:3:84"
                    },
                    "nativeSrc": "3684:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3684:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "3676:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "3676:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3718:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3718:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "3729:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3729:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3711:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3711:6:84"
                    },
                    "nativeSrc": "3711:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3711:25:84"
                  },
                  "nativeSrc": "3711:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3711:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "3780:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3780:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3792:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3792:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3803:2:84",
                            "nodeType": "YulLiteral",
                            "src": "3803:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3788:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3788:3:84"
                        },
                        "nativeSrc": "3788:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3788:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA_storage",
                      "nativeSrc": "3745:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "3745:34:84"
                    },
                    "nativeSrc": "3745:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3745:62:84"
                  },
                  "nativeSrc": "3745:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3745:62:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32_t_struct$_RadonSLA_$23503_storage__to_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "3486:327:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3627:9:84",
                "nodeType": "YulTypedName",
                "src": "3627:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3638:6:84",
                "nodeType": "YulTypedName",
                "src": "3638:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "3646:6:84",
                "nodeType": "YulTypedName",
                "src": "3646:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "3657:4:84",
                "nodeType": "YulTypedName",
                "src": "3657:4:84",
                "type": ""
              }
            ],
            "src": "3486:327:84"
          },
          {
            "body": {
              "nativeSrc": "3908:806:84",
              "nodeType": "YulBlock",
              "src": "3908:806:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3954:16:84",
                    "nodeType": "YulBlock",
                    "src": "3954:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3963:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3963:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3966:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3966:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3956:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3956:6:84"
                          },
                          "nativeSrc": "3956:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3956:12:84"
                        },
                        "nativeSrc": "3956:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3956:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3929:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3929:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3938:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3938:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3925:3:84"
                        },
                        "nativeSrc": "3925:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3925:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3950:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3950:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3921:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3921:3:84"
                    },
                    "nativeSrc": "3921:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3921:32:84"
                  },
                  "nativeSrc": "3918:52:84",
                  "nodeType": "YulIf",
                  "src": "3918:52:84"
                },
                {
                  "nativeSrc": "3979:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3979:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3999:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3999:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3993:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3993:5:84"
                    },
                    "nativeSrc": "3993:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3993:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "3983:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3983:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4018:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4018:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "4028:18:84",
                    "nodeType": "YulLiteral",
                    "src": "4028:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "4022:2:84",
                      "nodeType": "YulTypedName",
                      "src": "4022:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4073:16:84",
                    "nodeType": "YulBlock",
                    "src": "4073:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4082:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4082:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4085:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4085:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4075:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4075:6:84"
                          },
                          "nativeSrc": "4075:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4075:12:84"
                        },
                        "nativeSrc": "4075:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4075:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4061:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4061:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "4069:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4069:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4058:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4058:2:84"
                    },
                    "nativeSrc": "4058:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4058:14:84"
                  },
                  "nativeSrc": "4055:34:84",
                  "nodeType": "YulIf",
                  "src": "4055:34:84"
                },
                {
                  "nativeSrc": "4098:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4098:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4112:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4112:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "4123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4108:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4108:3:84"
                    },
                    "nativeSrc": "4108:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4108:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "4102:2:84",
                      "nodeType": "YulTypedName",
                      "src": "4102:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4178:16:84",
                    "nodeType": "YulBlock",
                    "src": "4178:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4187:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4187:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4190:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4190:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4180:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4180:6:84"
                          },
                          "nativeSrc": "4180:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4180:12:84"
                        },
                        "nativeSrc": "4180:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4180:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "4157:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "4157:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4161:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4161:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4153:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4153:3:84"
                            },
                            "nativeSrc": "4153:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4153:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "4168:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "4168:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4149:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4149:3:84"
                        },
                        "nativeSrc": "4149:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4149:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4142:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4142:6:84"
                    },
                    "nativeSrc": "4142:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4142:35:84"
                  },
                  "nativeSrc": "4139:55:84",
                  "nodeType": "YulIf",
                  "src": "4139:55:84"
                },
                {
                  "nativeSrc": "4203:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4203:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "4219:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4219:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4213:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4213:5:84"
                    },
                    "nativeSrc": "4213:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4213:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "4207:2:84",
                      "nodeType": "YulTypedName",
                      "src": "4207:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4245:22:84",
                    "nodeType": "YulBlock",
                    "src": "4245:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "4247:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "4247:16:84"
                          },
                          "nativeSrc": "4247:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4247:18:84"
                        },
                        "nativeSrc": "4247:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4247:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "4237:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4237:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "4241:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4241:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4234:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4234:2:84"
                    },
                    "nativeSrc": "4234:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4234:10:84"
                  },
                  "nativeSrc": "4231:36:84",
                  "nodeType": "YulIf",
                  "src": "4231:36:84"
                },
                {
                  "nativeSrc": "4276:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4276:17:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4290:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4290:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "4286:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4286:3:84"
                    },
                    "nativeSrc": "4286:7:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4286:7:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "4280:2:84",
                      "nodeType": "YulTypedName",
                      "src": "4280:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4302:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4302:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4322:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4322:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4316:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4316:5:84"
                    },
                    "nativeSrc": "4316:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4316:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "4306:6:84",
                      "nodeType": "YulTypedName",
                      "src": "4306:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4334:71:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4334:71:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "4356:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4356:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "_3",
                                        "nativeSrc": "4380:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "4380:2:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "4384:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "4384:4:84",
                                        "type": "",
                                        "value": "0x1f"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "4376:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "4376:3:84"
                                    },
                                    "nativeSrc": "4376:13:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "4376:13:84"
                                  },
                                  {
                                    "name": "_4",
                                    "nativeSrc": "4391:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4391:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "4372:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4372:3:84"
                                },
                                "nativeSrc": "4372:22:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4372:22:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4396:2:84",
                                "nodeType": "YulLiteral",
                                "src": "4396:2:84",
                                "type": "",
                                "value": "63"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4368:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4368:3:84"
                            },
                            "nativeSrc": "4368:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4368:31:84"
                          },
                          {
                            "name": "_4",
                            "nativeSrc": "4401:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4401:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4364:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4364:3:84"
                        },
                        "nativeSrc": "4364:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4364:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4352:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4352:3:84"
                    },
                    "nativeSrc": "4352:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4352:53:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "4338:10:84",
                      "nodeType": "YulTypedName",
                      "src": "4338:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4464:22:84",
                    "nodeType": "YulBlock",
                    "src": "4464:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "4466:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "4466:16:84"
                          },
                          "nativeSrc": "4466:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4466:18:84"
                        },
                        "nativeSrc": "4466:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4466:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4423:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "4423:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "4435:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4435:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "4420:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "4420:2:84"
                        },
                        "nativeSrc": "4420:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4420:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4443:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "4443:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "4455:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4455:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "4440:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "4440:2:84"
                        },
                        "nativeSrc": "4440:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4440:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "4417:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4417:2:84"
                    },
                    "nativeSrc": "4417:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4417:46:84"
                  },
                  "nativeSrc": "4414:72:84",
                  "nodeType": "YulIf",
                  "src": "4414:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4502:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4502:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "4506:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "4506:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4495:6:84"
                    },
                    "nativeSrc": "4495:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4495:22:84"
                  },
                  "nativeSrc": "4495:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4495:22:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "4533:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4533:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "4541:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4541:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4526:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4526:6:84"
                    },
                    "nativeSrc": "4526:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4526:18:84"
                  },
                  "nativeSrc": "4526:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4526:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "4590:16:84",
                    "nodeType": "YulBlock",
                    "src": "4590:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4599:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4599:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4602:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4602:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4592:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4592:6:84"
                          },
                          "nativeSrc": "4592:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4592:12:84"
                        },
                        "nativeSrc": "4592:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4592:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "4567:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "4567:2:84"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "4571:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "4571:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4563:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4563:3:84"
                            },
                            "nativeSrc": "4563:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4563:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4576:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4576:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4559:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4559:3:84"
                        },
                        "nativeSrc": "4559:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4559:20:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "4581:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "4581:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4556:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4556:2:84"
                    },
                    "nativeSrc": "4556:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4556:33:84"
                  },
                  "nativeSrc": "4553:53:84",
                  "nodeType": "YulIf",
                  "src": "4553:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "4654:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4654:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4658:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4658:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4650:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4650:3:84"
                        },
                        "nativeSrc": "4650:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4650:11:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "4667:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4667:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4675:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4675:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4663:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4663:3:84"
                        },
                        "nativeSrc": "4663:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4663:15:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "4680:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4680:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "4615:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "4615:34:84"
                    },
                    "nativeSrc": "4615:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4615:68:84"
                  },
                  "nativeSrc": "4615:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4615:68:84"
                },
                {
                  "nativeSrc": "4692:16:84",
                  "nodeType": "YulAssignment",
                  "src": "4692:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "4702:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "4702:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "4692:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4692:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory",
            "nativeSrc": "3818:896:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3874:9:84",
                "nodeType": "YulTypedName",
                "src": "3874:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3885:7:84",
                "nodeType": "YulTypedName",
                "src": "3885:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3897:6:84",
                "nodeType": "YulTypedName",
                "src": "3897:6:84",
                "type": ""
              }
            ],
            "src": "3818:896:84"
          },
          {
            "body": {
              "nativeSrc": "4774:65:84",
              "nodeType": "YulBlock",
              "src": "4774:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4791:1:84",
                        "nodeType": "YulLiteral",
                        "src": "4791:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "4794:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4794:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4784:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4784:6:84"
                    },
                    "nativeSrc": "4784:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4784:14:84"
                  },
                  "nativeSrc": "4784:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4784:14:84"
                },
                {
                  "nativeSrc": "4807:26:84",
                  "nodeType": "YulAssignment",
                  "src": "4807:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4825:1:84",
                        "nodeType": "YulLiteral",
                        "src": "4825:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4828:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4828:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "4815:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "4815:9:84"
                    },
                    "nativeSrc": "4815:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4815:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "4807:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4807:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "4719:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "4757:3:84",
                "nodeType": "YulTypedName",
                "src": "4757:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "4765:4:84",
                "nodeType": "YulTypedName",
                "src": "4765:4:84",
                "type": ""
              }
            ],
            "src": "4719:120:84"
          },
          {
            "body": {
              "nativeSrc": "5039:1181:84",
              "nodeType": "YulBlock",
              "src": "5039:1181:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5056:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5056:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5067:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5067:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5049:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5049:6:84"
                    },
                    "nativeSrc": "5049:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5049:21:84"
                  },
                  "nativeSrc": "5049:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5049:21:84"
                },
                {
                  "nativeSrc": "5079:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5079:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5090:1:84",
                    "nodeType": "YulLiteral",
                    "src": "5090:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "5083:3:84",
                      "nodeType": "YulTypedName",
                      "src": "5083:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5100:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5100:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "5117:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5117:5:84"
                    },
                    "nativeSrc": "5117:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5117:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "5104:9:84",
                      "nodeType": "YulTypedName",
                      "src": "5104:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5139:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5139:17:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "5153:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "5153:3:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "5143:6:84",
                      "nodeType": "YulTypedName",
                      "src": "5143:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5165:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5165:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5175:1:84",
                    "nodeType": "YulLiteral",
                    "src": "5175:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "5169:2:84",
                      "nodeType": "YulTypedName",
                      "src": "5169:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5185:27:84",
                  "nodeType": "YulAssignment",
                  "src": "5185:27:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5199:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5199:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "slotValue",
                        "nativeSrc": "5202:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5202:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "5195:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5195:3:84"
                    },
                    "nativeSrc": "5195:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5195:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "5185:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5185:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5221:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5221:43:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "5251:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5251:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5262:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5262:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "5247:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5247:3:84"
                    },
                    "nativeSrc": "5247:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5247:17:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "5225:18:84",
                      "nodeType": "YulTypedName",
                      "src": "5225:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5303:31:84",
                    "nodeType": "YulBlock",
                    "src": "5303:31:84",
                    "statements": [
                      {
                        "nativeSrc": "5305:27:84",
                        "nodeType": "YulAssignment",
                        "src": "5305:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "5319:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "5319:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5327:4:84",
                              "nodeType": "YulLiteral",
                              "src": "5327:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "5315:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5315:3:84"
                          },
                          "nativeSrc": "5315:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5315:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "5305:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5305:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "5283:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "5283:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5276:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5276:6:84"
                    },
                    "nativeSrc": "5276:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5276:26:84"
                  },
                  "nativeSrc": "5273:61:84",
                  "nodeType": "YulIf",
                  "src": "5273:61:84"
                },
                {
                  "nativeSrc": "5343:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5343:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5353:2:84",
                    "nodeType": "YulLiteral",
                    "src": "5353:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "5347:2:84",
                      "nodeType": "YulTypedName",
                      "src": "5347:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5414:115:84",
                    "nodeType": "YulBlock",
                    "src": "5414:115:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "ret",
                              "nativeSrc": "5435:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5435:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "5444:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "5444:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "5449:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "5449:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "5440:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "5440:3:84"
                              },
                              "nativeSrc": "5440:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "5440:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "5428:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5428:6:84"
                          },
                          "nativeSrc": "5428:33:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5428:33:84"
                        },
                        "nativeSrc": "5428:33:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5428:33:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5481:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5481:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5484:4:84",
                              "nodeType": "YulLiteral",
                              "src": "5484:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "5474:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5474:6:84"
                          },
                          "nativeSrc": "5474:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5474:15:84"
                        },
                        "nativeSrc": "5474:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5474:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "ret",
                              "nativeSrc": "5509:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5509:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5514:4:84",
                              "nodeType": "YulLiteral",
                              "src": "5514:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5502:6:84"
                          },
                          "nativeSrc": "5502:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5502:17:84"
                        },
                        "nativeSrc": "5502:17:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5502:17:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "5370:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "5370:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "5393:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5393:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5401:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5401:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5390:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5390:2:84"
                        },
                        "nativeSrc": "5390:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5390:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "5367:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5367:2:84"
                    },
                    "nativeSrc": "5367:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5367:38:84"
                  },
                  "nativeSrc": "5364:165:84",
                  "nodeType": "YulIf",
                  "src": "5364:165:84"
                },
                {
                  "nativeSrc": "5538:91:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5538:91:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5606:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5606:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5617:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5617:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5602:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5602:3:84"
                        },
                        "nativeSrc": "5602:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5602:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "5622:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5622:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_storeLengthForEncoding_array_bytes_dyn_library",
                      "nativeSrc": "5549:52:84",
                      "nodeType": "YulIdentifier",
                      "src": "5549:52:84"
                    },
                    "nativeSrc": "5549:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5549:80:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "5542:3:84",
                      "nodeType": "YulTypedName",
                      "src": "5542:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "5679:121:84",
                        "nodeType": "YulBlock",
                        "src": "5679:121:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "pos",
                                  "nativeSrc": "5700:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5700:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "5709:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "5709:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "5724:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "5724:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "5720:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5720:3:84"
                                      },
                                      "nativeSrc": "5720:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "5720:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "5705:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5705:3:84"
                                  },
                                  "nativeSrc": "5705:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "5705:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "5693:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "5693:6:84"
                              },
                              "nativeSrc": "5693:37:84",
                              "nodeType": "YulFunctionCall",
                              "src": "5693:37:84"
                            },
                            "nativeSrc": "5693:37:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "5693:37:84"
                          },
                          {
                            "nativeSrc": "5743:47:84",
                            "nodeType": "YulAssignment",
                            "src": "5743:47:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "pos",
                                  "nativeSrc": "5754:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5754:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "5763:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "5763:1:84",
                                      "type": "",
                                      "value": "5"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "name": "length",
                                              "nativeSrc": "5780:6:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "5780:6:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "5773:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "5773:6:84"
                                          },
                                          "nativeSrc": "5773:14:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "5773:14:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "iszero",
                                        "nativeSrc": "5766:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5766:6:84"
                                      },
                                      "nativeSrc": "5766:22:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "5766:22:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "5759:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5759:3:84"
                                  },
                                  "nativeSrc": "5759:30:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "5759:30:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "5750:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "5750:3:84"
                              },
                              "nativeSrc": "5750:40:84",
                              "nodeType": "YulFunctionCall",
                              "src": "5750:40:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "5743:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "5743:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "5672:128:84",
                      "nodeType": "YulCase",
                      "src": "5672:128:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "5677:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5677:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "5816:307:84",
                        "nodeType": "YulBlock",
                        "src": "5816:307:84",
                        "statements": [
                          {
                            "nativeSrc": "5830:51:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "5830:51:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "value0",
                                  "nativeSrc": "5874:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5874:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "5845:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "5845:28:84"
                              },
                              "nativeSrc": "5845:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "5845:36:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "5834:7:84",
                                "nodeType": "YulTypedName",
                                "src": "5834:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "5894:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "5894:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "5903:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5903:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "5898:1:84",
                                "nodeType": "YulTypedName",
                                "src": "5898:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "5971:111:84",
                              "nodeType": "YulBlock",
                              "src": "5971:111:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "pos",
                                            "nativeSrc": "6000:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "6000:3:84"
                                          },
                                          {
                                            "name": "i",
                                            "nativeSrc": "6005:1:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "6005:1:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "5996:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "5996:3:84"
                                        },
                                        "nativeSrc": "5996:11:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "5996:11:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "6015:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "6015:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "6009:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "6009:5:84"
                                        },
                                        "nativeSrc": "6009:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "6009:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "5989:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "5989:6:84"
                                    },
                                    "nativeSrc": "5989:35:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "5989:35:84"
                                  },
                                  "nativeSrc": "5989:35:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "5989:35:84"
                                },
                                {
                                  "nativeSrc": "6041:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "6041:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "6056:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "6056:7:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "6065:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "6065:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "6052:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "6052:3:84"
                                    },
                                    "nativeSrc": "6052:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "6052:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "6041:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "6041:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "5928:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5928:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "5931:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5931:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "5925:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "5925:2:84"
                              },
                              "nativeSrc": "5925:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "5925:13:84"
                            },
                            "nativeSrc": "5917:165:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "5939:19:84",
                              "nodeType": "YulBlock",
                              "src": "5939:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "5941:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "5941:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "5950:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5950:1:84"
                                      },
                                      {
                                        "name": "_2",
                                        "nativeSrc": "5953:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5953:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "5946:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "5946:3:84"
                                    },
                                    "nativeSrc": "5946:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "5946:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "5941:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "5941:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "5921:3:84",
                              "nodeType": "YulBlock",
                              "src": "5921:3:84",
                              "statements": []
                            },
                            "src": "5917:165:84"
                          },
                          {
                            "nativeSrc": "6095:18:84",
                            "nodeType": "YulAssignment",
                            "src": "6095:18:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "pos",
                                  "nativeSrc": "6106:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "6106:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "6111:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "6111:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "6102:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "6102:3:84"
                              },
                              "nativeSrc": "6102:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "6102:11:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "6095:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "6095:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "5809:314:84",
                      "nodeType": "YulCase",
                      "src": "5809:314:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "5814:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5814:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "name": "outOfPlaceEncoding",
                    "nativeSrc": "5645:18:84",
                    "nodeType": "YulIdentifier",
                    "src": "5645:18:84"
                  },
                  "nativeSrc": "5638:485:84",
                  "nodeType": "YulSwitch",
                  "src": "5638:485:84"
                },
                {
                  "nativeSrc": "6132:11:84",
                  "nodeType": "YulAssignment",
                  "src": "6132:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "6140:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "6140:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6132:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6132:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "6187:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6187:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6199:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6199:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6210:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6210:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6195:3:84"
                        },
                        "nativeSrc": "6195:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6195:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_RadonSLA_storage",
                      "nativeSrc": "6152:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "6152:34:84"
                    },
                    "nativeSrc": "6152:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6152:62:84"
                  },
                  "nativeSrc": "6152:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6152:62:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_storage_t_struct$_RadonSLA_$23503_storage__to_t_bytes_memory_ptr_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "4844:1376:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5000:9:84",
                "nodeType": "YulTypedName",
                "src": "5000:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5011:6:84",
                "nodeType": "YulTypedName",
                "src": "5011:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5019:6:84",
                "nodeType": "YulTypedName",
                "src": "5019:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5030:4:84",
                "nodeType": "YulTypedName",
                "src": "5030:4:84",
                "type": ""
              }
            ],
            "src": "4844:1376:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_2)\n        if gt(length, _1) { revert(0, 0) }\n        if gt(add(add(_2, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n        value1 := add(_2, 32)\n        value2 := length\n    }\n    function array_storeLengthForEncoding_array_bytes_dyn_library(pos, length) -> updated_pos\n    {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_enum$_QueryStatus_$23461(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(lt(value, 4)) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_struct_RadonSLA_storage(value, pos)\n    {\n        let slotValue := sload(value)\n        mstore(pos, and(slotValue, 0xff))\n        mstore(add(pos, 0x20), and(shr(8, slotValue), 0xffffffffffffffff))\n    }\n    function abi_encode_tuple_t_bytes32_t_struct$_RadonSLA_$23503_storage__to_t_bytes32_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_struct_RadonSLA_storage(value1, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value0 := memPtr\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_bytes_storage_t_struct$_RadonSLA_$23503_storage__to_t_bytes_memory_ptr_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := ret\n        let _1 := 1\n        length := shr(1, slotValue)\n        let outOfPlaceEncoding := and(slotValue, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        let _2 := 32\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(ret, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(ret, 0x24)\n        }\n        let pos := array_storeLengthForEncoding_array_bytes_dyn_library(add(headStart, 96), length)\n        switch outOfPlaceEncoding\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, shl(5, iszero(iszero(length))))\n        }\n        case 1 {\n            let dataPos := array_dataslot_bytes_storage(value0)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, i)\n        }\n        tail := ret\n        abi_encode_struct_RadonSLA_storage(value1, add(headStart, 32))\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "238:5129:41:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;238:5129:41;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "238:5129:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:946;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4868:496;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3914:946::-;4050:24;4116:8;4104:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4092:40;;4148:8;4143:710;4162:21;;;4143:710;;;4246:28;4212:30;4228:8;;4237:3;4228:13;;;;;;;:::i;:::-;;;;;;;4212:15;:30::i;:::-;:62;;;;;;;;:::i;:::-;;4208:634;;4295:34;4332:14;4295:34;4347:8;;4356:3;4347:13;;;;;;;:::i;:::-;;;;;;;4332:29;;;;;;;;;;;:37;;4295:74;;4423:1;4415:10;;4392:9;:19;;;:33;4388:439;;4513:19;;;;4467:134;;-1:-1:-1;;;4467:134:41;;-1:-1:-1;;;;;4467:19:41;;;;;:134;;4513:19;4559;;;;4467:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4467:134:41;;;;;;;;;;;;:::i;:::-;4450:9;4460:3;4450:14;;;;;;;;:::i;:::-;;;;;;:151;;;;4388:439;;;4667:140;;-1:-1:-1;;;4667:140:41;;-1:-1:-1;;;;;4667:19:41;;;;;:140;;4713:24;;;;4764:19;;;;4667:140;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4667:140:41;;;;;;;;;;;;:::i;:::-;4650:9;4660:3;4650:14;;;;;;;;:::i;:::-;;;;;;:157;;;;4388:439;4276:566;4208:634;4185:6;;4143:710;;;;3914:946;;;;;:::o;4868:496::-;4950:13;4988:27;4980:4;:35;;;;;;;;:::i;:::-;;4976:381;;-1:-1:-1;;5032:35:41;;;;;;;;;;;;;;;;;;4868:496::o;4976:381::-;5097:29;5089:4;:37;;;;;;;;:::i;:::-;;5085:272;;-1:-1:-1;;5143:37:41;;;;;;;;;;;;;;;;;;4868:496::o;5085:272::-;5210:30;5202:4;:38;;;;;;;;:::i;:::-;;5198:159;;-1:-1:-1;;5257:38:41;;;;;;;;;;;;;;;;;;4868:496::o;5198:159::-;-1:-1:-1;;5328:17:41;;;;;;;;;;;;-1:-1:-1;;;5328:17:41;;;;;4868:496::o;1886:617::-;1951:20;2017:23;;;:14;:23;;;;;2055:16;;;:32;-1:-1:-1;;;2055:32:41;;;;:37;2051:445;;2129:16;;;:25;-1:-1:-1;;;2129:25:41;;;;2113:12;:41;2109:196;;-1:-1:-1;2182:30:41;;1886:617;-1:-1:-1;;1886:617:41:o;2109:196::-;-1:-1:-1;2260:29:41;;1886:617;-1:-1:-1;;1886:617:41:o;2051:445::-;2326:25;;-1:-1:-1;;;;;2326:25:41;:39;2322:174;;-1:-1:-1;2389:27:41;;1886:617;-1:-1:-1;;1886:617:41:o;2322:174::-;-1:-1:-1;2456:28:41;;1886:617;-1:-1:-1;;1886:617:41:o;14:819:84:-;139:6;147;155;208:2;196:9;187:7;183:23;179:32;176:52;;;224:1;221;214:12;176:52;250:23;;-1:-1:-1;;;;;302:31:84;;292:42;;282:70;;348:1;345;338:12;282:70;371:5;-1:-1:-1;427:2:84;412:18;;399:32;450:18;480:14;;;477:34;;;507:1;504;497:12;477:34;545:6;534:9;530:22;520:32;;590:7;583:4;579:2;575:13;571:27;561:55;;612:1;609;602:12;561:55;652:2;639:16;678:2;670:6;667:14;664:34;;;694:1;691;684:12;664:34;747:7;742:2;732:6;729:1;725:14;721:2;717:23;713:32;710:45;707:65;;;768:1;765;758:12;707:65;799:2;795;791:11;781:21;;821:6;811:16;;;;;14:819;;;;;:::o;1010:250::-;1095:1;1105:113;1119:6;1116:1;1113:13;1105:113;;;1195:11;;;1189:18;1176:11;;;1169:39;1141:2;1134:10;1105:113;;;-1:-1:-1;;1252:1:84;1234:16;;1227:27;1010:250::o;1265:270::-;1306:3;1344:5;1338:12;1371:6;1366:3;1359:19;1387:76;1456:6;1449:4;1444:3;1440:14;1433:4;1426:5;1422:16;1387:76;:::i;:::-;1517:2;1496:15;-1:-1:-1;;1492:29:84;1483:39;;;;1524:4;1479:50;;1265:270;-1:-1:-1;;1265:270:84:o;1540:808::-;1708:4;1737:2;1777;1766:9;1762:18;1807:2;1796:9;1789:21;1830:6;1865;1859:13;1896:6;1888;1881:22;1934:2;1923:9;1919:18;1912:25;;1996:2;1986:6;1983:1;1979:14;1968:9;1964:30;1960:39;1946:53;;2034:2;2026:6;2022:15;2055:1;2065:254;2079:6;2076:1;2073:13;2065:254;;;2172:2;2168:7;2156:9;2148:6;2144:22;2140:36;2135:3;2128:49;2200:39;2232:6;2223;2217:13;2200:39;:::i;:::-;2190:49;-1:-1:-1;2297:12:84;;;;2262:15;;;;2101:1;2094:9;2065:254;;;-1:-1:-1;2336:6:84;;1540:808;-1:-1:-1;;;;;;;1540:808:84:o;2353:273::-;2429:6;2482:2;2470:9;2461:7;2457:23;2453:32;2450:52;;;2498:1;2495;2488:12;2450:52;2537:9;2524:23;2576:1;2569:5;2566:12;2556:40;;2592:1;2589;2582:12;2556:40;2615:5;2353:273;-1:-1:-1;;;2353:273:84:o;2631:227::-;2788:2;2777:9;2770:21;2751:4;2808:44;2848:2;2837:9;2833:18;2825:6;2808:44;:::i;2863:127::-;2924:10;2919:3;2915:20;2912:1;2905:31;2955:4;2952:1;2945:15;2979:4;2976:1;2969:15;2995:127;3056:10;3051:3;3047:20;3044:1;3037:31;3087:4;3084:1;3077:15;3111:4;3108:1;3101:15;3127:127;3188:10;3183:3;3179:20;3176:1;3169:31;3219:4;3216:1;3209:15;3243:4;3240:1;3233:15;3486:327;3711:25;;;3699:2;3684:18;;3745:62;3803:2;3788:18;;3780:6;3346:12;3394:4;3379:20;;3367:33;;3440:1;3436:17;3455:18;3432:42;3425:4;3416:14;;;3409:66;3259:222;3818:896;3897:6;3950:2;3938:9;3929:7;3925:23;3921:32;3918:52;;;3966:1;3963;3956:12;3918:52;3999:9;3993:16;4028:18;4069:2;4061:6;4058:14;4055:34;;;4085:1;4082;4075:12;4055:34;4123:6;4112:9;4108:22;4098:32;;4168:7;4161:4;4157:2;4153:13;4149:27;4139:55;;4190:1;4187;4180:12;4139:55;4219:2;4213:9;4241:2;4237;4234:10;4231:36;;;4247:18;;:::i;:::-;4322:2;4316:9;4290:2;4376:13;;-1:-1:-1;;4372:22:84;;;4396:2;4368:31;4364:40;4352:53;;;4420:18;;;4440:22;;;4417:46;4414:72;;;4466:18;;:::i;:::-;4506:10;4502:2;4495:22;4541:2;4533:6;4526:18;4581:7;4576:2;4571;4567;4563:11;4559:20;4556:33;4553:53;;;4602:1;4599;4592:12;4553:53;4615:68;4680:2;4675;4667:6;4663:15;4658:2;4654;4650:11;4615:68;:::i;:::-;4702:6;3818:896;-1:-1:-1;;;;;;;3818:896:84:o;4844:1376::-;5067:2;5056:9;5049:21;5030:4;5090:1;5123:6;5117:13;5153:3;5175:1;5202:9;5199:1;5195:17;5185:27;;5262:1;5251:9;5247:17;5283:18;5273:61;;5327:4;5319:6;5315:17;5305:27;;5273:61;5353:2;5401;5393:6;5390:14;5370:18;5367:38;5364:165;;-1:-1:-1;;;5428:33:84;;5484:4;5481:1;5474:15;5514:4;5435:3;5502:17;5364:165;5617:2;5602:18;;942:19;;;985:14;;;5645:18;5672:128;;;;5814:1;5809:314;;;;5638:485;;5672:128;-1:-1:-1;;5705:24:84;;5693:37;;5773:14;;5766:22;5763:1;5759:30;5750:40;;;-1:-1:-1;5672:128:84;;5809:314;4791:1;4784:14;;;4828:4;4815:18;;5903:1;5917:165;5931:6;5928:1;5925:13;5917:165;;;6009:14;;5996:11;;;5989:35;6052:16;;;;5946:10;;5917:165;;;6102:11;;;-1:-1:-1;;5638:485:84;;;;;;;;6140:3;6132:11;;;6152:62;6210:2;6199:9;6195:18;6187:6;3346:12;3394:4;3379:20;;3367:33;;3440:1;3436:17;3455:18;3432:42;3425:4;3416:14;;;3409:66;3259:222",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\n\r\nimport \"../WitnetRequestBytecodes.sol\";\r\nimport \"../libs/WitnetV2.sol\";\r\n\r\n/// @title Witnet Request Board base data model library\r\n/// @author The Witnet Foundation.\r\nlibrary WitnetOracleDataLib {  \r\n\r\n    using WitnetV2 for WitnetV2.Request;\r\n\r\n    bytes32 internal constant _WITNET_ORACLE_DATA_SLOTHASH =\r\n        /* keccak256(\"io.witnet.boards.data\") */\r\n        0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183;\r\n\r\n    struct Storage {\r\n        uint256 nonce;\r\n        mapping (uint => WitnetV2.Query) queries;\r\n        mapping (address => bool) reporters;\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 := _WITNET_ORACLE_DATA_SLOTHASH\r\n        }\r\n    }\r\n\r\n    function isReporter(address addr) internal view returns (bool) {\r\n        return data().reporters[addr];\r\n    }\r\n\r\n    /// Gets query storage by query id.\r\n    function seekQuery(uint256 _queryId) internal view returns (WitnetV2.Query storage) {\r\n      return data().queries[_queryId];\r\n    }\r\n\r\n    /// Gets the Witnet.Request part of a given query.\r\n    function seekQueryRequest(uint256 _queryId) internal view returns (WitnetV2.Request storage) {\r\n        return data().queries[_queryId].request;\r\n    }   \r\n\r\n    /// Gets the Witnet.Result part of a given query.\r\n    function seekQueryResponse(uint256 _queryId) internal view returns (WitnetV2.Response storage) {\r\n        return data().queries[_queryId].response;\r\n    }\r\n\r\n    function seekQueryStatus(uint256 queryId) internal view returns (WitnetV2.QueryStatus) {\r\n        WitnetV2.Query storage __query = data().queries[queryId];\r\n        if (__query.response.resultTimestamp != 0) {\r\n            if (block.number >= __query.response.finality) {\r\n                return WitnetV2.QueryStatus.Finalized;\r\n            } else {\r\n                return WitnetV2.QueryStatus.Reported;\r\n            }\r\n        } else if (__query.request.requester != address(0)) {\r\n            return WitnetV2.QueryStatus.Posted;\r\n        } else {\r\n            return WitnetV2.QueryStatus.Unknown;\r\n        }\r\n    }\r\n\r\n    function seekQueryResponseStatus(uint256 queryId) internal view returns (WitnetV2.ResponseStatus) {\r\n        WitnetV2.QueryStatus _queryStatus = seekQueryStatus(queryId);\r\n        if (_queryStatus == WitnetV2.QueryStatus.Finalized) {\r\n            bytes storage __cborValues = data().queries[queryId].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                    ? WitnetV2.ResponseStatus.Error \r\n                    : WitnetV2.ResponseStatus.Ready\r\n                );\r\n            } else {\r\n                // the result is final but delivered to the requesting address\r\n                return WitnetV2.ResponseStatus.Delivered;\r\n            }\r\n        } else if (_queryStatus == WitnetV2.QueryStatus.Posted) {\r\n            return WitnetV2.ResponseStatus.Awaiting;\r\n        } else if (_queryStatus == WitnetV2.QueryStatus.Reported) {\r\n            return WitnetV2.ResponseStatus.Finalizing;\r\n        } else {\r\n            return WitnetV2.ResponseStatus.Void;\r\n        }\r\n    }\r\n\r\n    // ================================================================================================================\r\n    // --- Public functions -------------------------------------------------------------------------------------------\r\n\r\n    function extractWitnetDataRequests(WitnetRequestBytecodes registry, uint256[] calldata queryIds)\r\n        public view\r\n        returns (bytes[] memory bytecodes)\r\n    {\r\n        bytecodes = new bytes[](queryIds.length);\r\n        for (uint _ix = 0; _ix < queryIds.length; _ix ++) {\r\n            if (seekQueryStatus(queryIds[_ix]) != WitnetV2.QueryStatus.Unknown) {\r\n                WitnetV2.Request storage __request = data().queries[queryIds[_ix]].request;\r\n                if (__request.witnetRAD != bytes32(0)) {\r\n                    bytecodes[_ix] = registry.bytecodeOf(\r\n                        __request.witnetRAD,\r\n                        __request.witnetSLA\r\n                    );\r\n                } else {\r\n                    bytecodes[_ix] = registry.bytecodeOf(\r\n                        __request.witnetBytecode,\r\n                        __request.witnetSLA \r\n                    );\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    function notInStatusRevertMessage(WitnetV2.QueryStatus self) public pure returns (string memory) {\r\n        if (self == WitnetV2.QueryStatus.Posted) {\r\n            return \"query not in Posted status\";\r\n        } else if (self == WitnetV2.QueryStatus.Reported) {\r\n            return \"query not in Reported status\";\r\n        } else if (self == WitnetV2.QueryStatus.Finalized) {\r\n            return \"query not in Finalized status\";\r\n        } else {\r\n            return \"bad mood\";\r\n        }\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\data\\WitnetOracleDataLib.sol",
  "ast": {
    "absolutePath": "project:/contracts/data/WitnetOracleDataLib.sol",
    "exportedSymbols": {
      "IWitnetRequestBytecodes": [
        13979
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetOracleDataLib": [
        12396
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 12397,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 12014,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:41"
      },
      {
        "absolutePath": "project:/contracts/WitnetRequestBytecodes.sol",
        "file": "../WitnetRequestBytecodes.sol",
        "id": 12015,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12397,
        "sourceUnit": 850,
        "src": "70:39:41",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/libs/WitnetV2.sol",
        "file": "../libs/WitnetV2.sol",
        "id": 12016,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 12397,
        "sourceUnit": 23641,
        "src": "111:30:41",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "WitnetOracleDataLib",
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": {
          "id": 12017,
          "nodeType": "StructuredDocumentation",
          "src": "145:93:41",
          "text": "@title Witnet Request Board base data model library\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 12396,
        "linearizedBaseContracts": [
          12396
        ],
        "name": "WitnetOracleDataLib",
        "nameLocation": "246:19:41",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 12021,
            "libraryName": {
              "id": 12018,
              "name": "WitnetV2",
              "nameLocations": [
                "283:8:41"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 23640,
              "src": "283:8:41"
            },
            "nodeType": "UsingForDirective",
            "src": "277:36:41",
            "typeName": {
              "id": 12020,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 12019,
                "name": "WitnetV2.Request",
                "nameLocations": [
                  "296:8:41",
                  "305:7:41"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 23476,
                "src": "296:16:41"
              },
              "referencedDeclaration": 23476,
              "src": "296:16:41",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                "typeString": "struct WitnetV2.Request"
              }
            }
          },
          {
            "constant": true,
            "id": 12024,
            "mutability": "constant",
            "name": "_WITNET_ORACLE_DATA_SLOTHASH",
            "nameLocation": "347:28:41",
            "nodeType": "VariableDeclaration",
            "scope": 12396,
            "src": "321:182:41",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 12022,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "321:7:41",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "hexValue": "307866353935323430623335316263386639353163326635336232366634653738633332636236323132326366373663313962376664646137643439363865313833",
              "id": 12023,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "437:66:41",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_111080156880573123782333136393096456259796301421348949269751801291758316872067_by_1",
                "typeString": "int_const 1110...(70 digits omitted)...2067"
              },
              "value": "0xf595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183"
            },
            "visibility": "internal"
          },
          {
            "canonicalName": "WitnetOracleDataLib.Storage",
            "id": 12036,
            "members": [
              {
                "constant": false,
                "id": 12026,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "546:5:41",
                "nodeType": "VariableDeclaration",
                "scope": 12036,
                "src": "538:13:41",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12025,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "538:7:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12031,
                "mutability": "mutable",
                "name": "queries",
                "nameLocation": "595:7:41",
                "nodeType": "VariableDeclaration",
                "scope": 12036,
                "src": "562:40:41",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                  "typeString": "mapping(uint256 => struct WitnetV2.Query)"
                },
                "typeName": {
                  "id": 12030,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 12027,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "571:4:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "562:32:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                    "typeString": "mapping(uint256 => struct WitnetV2.Query)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 12029,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12028,
                      "name": "WitnetV2.Query",
                      "nameLocations": [
                        "579:8:41",
                        "588:5:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23455,
                      "src": "579:14:41"
                    },
                    "referencedDeclaration": 23455,
                    "src": "579:14:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                      "typeString": "struct WitnetV2.Query"
                    }
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12035,
                "mutability": "mutable",
                "name": "reporters",
                "nameLocation": "639:9:41",
                "nodeType": "VariableDeclaration",
                "scope": 12036,
                "src": "613:35:41",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                  "typeString": "mapping(address => bool)"
                },
                "typeName": {
                  "id": 12034,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 12032,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "622:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "613:25:41",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                    "typeString": "mapping(address => bool)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 12033,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "633:4:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Storage",
            "nameLocation": "519:7:41",
            "nodeType": "StructDefinition",
            "scope": 12396,
            "src": "512:144:41",
            "visibility": "public"
          },
          {
            "body": {
              "id": 12044,
              "nodeType": "Block",
              "src": "1049:94:41",
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "1069:67:41",
                    "nodeType": "YulBlock",
                    "src": "1069:67:41",
                    "statements": [
                      {
                        "nativeSrc": "1084:41:41",
                        "nodeType": "YulAssignment",
                        "src": "1084:41:41",
                        "value": {
                          "name": "_WITNET_ORACLE_DATA_SLOTHASH",
                          "nativeSrc": "1097:28:41",
                          "nodeType": "YulIdentifier",
                          "src": "1097:28:41"
                        },
                        "variableNames": [
                          {
                            "name": "_ptr.slot",
                            "nativeSrc": "1084:9:41",
                            "nodeType": "YulIdentifier",
                            "src": "1084:9:41"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 12024,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "1097:28:41",
                      "valueSize": 1
                    },
                    {
                      "declaration": 12041,
                      "isOffset": false,
                      "isSlot": true,
                      "src": "1084:9:41",
                      "suffix": "slot",
                      "valueSize": 1
                    }
                  ],
                  "id": 12043,
                  "nodeType": "InlineAssembly",
                  "src": "1060:76:41"
                }
              ]
            },
            "documentation": {
              "id": 12037,
              "nodeType": "StructuredDocumentation",
              "src": "908:69:41",
              "text": "Returns storage pointer to contents of 'WitnetBoardState' struct."
            },
            "id": 12045,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "data",
            "nameLocation": "992:4:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12038,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "996:2:41"
            },
            "returnParameters": {
              "id": 12042,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12041,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "1038:4:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12045,
                  "src": "1022:20:41",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                    "typeString": "struct WitnetOracleDataLib.Storage"
                  },
                  "typeName": {
                    "id": 12040,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12039,
                      "name": "Storage",
                      "nameLocations": [
                        "1022:7:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12036,
                      "src": "1022:7:41"
                    },
                    "referencedDeclaration": 12036,
                    "src": "1022:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                      "typeString": "struct WitnetOracleDataLib.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1021:22:41"
            },
            "scope": 12396,
            "src": "983:160:41",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12058,
              "nodeType": "Block",
              "src": "1214:48:41",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 12052,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12045,
                          "src": "1232:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 12053,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1232:6:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                          "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                        }
                      },
                      "id": 12054,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1239:9:41",
                      "memberName": "reporters",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12035,
                      "src": "1232:16:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                        "typeString": "mapping(address => bool)"
                      }
                    },
                    "id": 12056,
                    "indexExpression": {
                      "id": 12055,
                      "name": "addr",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12047,
                      "src": "1249:4:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1232:22:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 12051,
                  "id": 12057,
                  "nodeType": "Return",
                  "src": "1225:29:41"
                }
              ]
            },
            "id": 12059,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isReporter",
            "nameLocation": "1160:10:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12048,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12047,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "1179:4:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12059,
                  "src": "1171:12:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 12046,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1171:7:41",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1170:14:41"
            },
            "returnParameters": {
              "id": 12051,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12050,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12059,
                  "src": "1208:4:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 12049,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1208:4:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1207:6:41"
            },
            "scope": 12396,
            "src": "1151:111:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12074,
              "nodeType": "Block",
              "src": "1395:48:41",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 12068,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12045,
                          "src": "1411:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 12069,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1411:6:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                          "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                        }
                      },
                      "id": 12070,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1418:7:41",
                      "memberName": "queries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12031,
                      "src": "1411:14:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                        "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                      }
                    },
                    "id": 12072,
                    "indexExpression": {
                      "id": 12071,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12062,
                      "src": "1426:8:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1411:24:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_storage",
                      "typeString": "struct WitnetV2.Query storage ref"
                    }
                  },
                  "functionReturnParameters": 12067,
                  "id": 12073,
                  "nodeType": "Return",
                  "src": "1404:31:41"
                }
              ]
            },
            "documentation": {
              "id": 12060,
              "nodeType": "StructuredDocumentation",
              "src": "1270:35:41",
              "text": "Gets query storage by query id."
            },
            "id": 12075,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekQuery",
            "nameLocation": "1320:9:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12062,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "1338:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12075,
                  "src": "1330:16:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12061,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1330:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1329:18:41"
            },
            "returnParameters": {
              "id": 12067,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12066,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12075,
                  "src": "1371:22:41",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                    "typeString": "struct WitnetV2.Query"
                  },
                  "typeName": {
                    "id": 12065,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12064,
                      "name": "WitnetV2.Query",
                      "nameLocations": [
                        "1371:8:41",
                        "1380:5:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23455,
                      "src": "1371:14:41"
                    },
                    "referencedDeclaration": 23455,
                    "src": "1371:14:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                      "typeString": "struct WitnetV2.Query"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1370:24:41"
            },
            "scope": 12396,
            "src": "1311:132:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12091,
              "nodeType": "Block",
              "src": "1600:58:41",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 12084,
                            "name": "data",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12045,
                            "src": "1618:4:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 12085,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1618:6:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                            "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                          }
                        },
                        "id": 12086,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1625:7:41",
                        "memberName": "queries",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12031,
                        "src": "1618:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                          "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                        }
                      },
                      "id": 12088,
                      "indexExpression": {
                        "id": 12087,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12078,
                        "src": "1633:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "1618:24:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$23455_storage",
                        "typeString": "struct WitnetV2.Query storage ref"
                      }
                    },
                    "id": 12089,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "1643:7:41",
                    "memberName": "request",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 23451,
                    "src": "1618:32:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Request_$23476_storage",
                      "typeString": "struct WitnetV2.Request storage ref"
                    }
                  },
                  "functionReturnParameters": 12083,
                  "id": 12090,
                  "nodeType": "Return",
                  "src": "1611:39:41"
                }
              ]
            },
            "documentation": {
              "id": 12076,
              "nodeType": "StructuredDocumentation",
              "src": "1451:50:41",
              "text": "Gets the Witnet.Request part of a given query."
            },
            "id": 12092,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekQueryRequest",
            "nameLocation": "1516:16:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12079,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12078,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "1541:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12092,
                  "src": "1533:16:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12077,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1533:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1532:18:41"
            },
            "returnParameters": {
              "id": 12083,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12082,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12092,
                  "src": "1574:24:41",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                    "typeString": "struct WitnetV2.Request"
                  },
                  "typeName": {
                    "id": 12081,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12080,
                      "name": "WitnetV2.Request",
                      "nameLocations": [
                        "1574:8:41",
                        "1583:7:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23476,
                      "src": "1574:16:41"
                    },
                    "referencedDeclaration": 23476,
                    "src": "1574:16:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                      "typeString": "struct WitnetV2.Request"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1573:26:41"
            },
            "scope": 12396,
            "src": "1507:151:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12108,
              "nodeType": "Block",
              "src": "1819:59:41",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 12101,
                            "name": "data",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12045,
                            "src": "1837:4:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 12102,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1837:6:41",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                            "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                          }
                        },
                        "id": 12103,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1844:7:41",
                        "memberName": "queries",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12031,
                        "src": "1837:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                          "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                        }
                      },
                      "id": 12105,
                      "indexExpression": {
                        "id": 12104,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12095,
                        "src": "1852:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "1837:24:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$23455_storage",
                        "typeString": "struct WitnetV2.Query storage ref"
                      }
                    },
                    "id": 12106,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "1862:8:41",
                    "memberName": "response",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 23454,
                    "src": "1837:33:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_storage",
                      "typeString": "struct WitnetV2.Response storage ref"
                    }
                  },
                  "functionReturnParameters": 12100,
                  "id": 12107,
                  "nodeType": "Return",
                  "src": "1830:40:41"
                }
              ]
            },
            "documentation": {
              "id": 12093,
              "nodeType": "StructuredDocumentation",
              "src": "1669:49:41",
              "text": "Gets the Witnet.Result part of a given query."
            },
            "id": 12109,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekQueryResponse",
            "nameLocation": "1733:17:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12096,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12095,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "1759:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12109,
                  "src": "1751:16:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12094,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1751:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1750:18:41"
            },
            "returnParameters": {
              "id": 12100,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12099,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12109,
                  "src": "1792:25:41",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                    "typeString": "struct WitnetV2.Response"
                  },
                  "typeName": {
                    "id": 12098,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12097,
                      "name": "WitnetV2.Response",
                      "nameLocations": [
                        "1792:8:41",
                        "1801:8:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23488,
                      "src": "1792:17:41"
                    },
                    "referencedDeclaration": 23488,
                    "src": "1792:17:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                      "typeString": "struct WitnetV2.Response"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1791:27:41"
            },
            "scope": 12396,
            "src": "1724:154:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12171,
              "nodeType": "Block",
              "src": "1973:530:41",
              "statements": [
                {
                  "assignments": [
                    12121
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 12121,
                      "mutability": "mutable",
                      "name": "__query",
                      "nameLocation": "2007:7:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 12171,
                      "src": "1984:30:41",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                        "typeString": "struct WitnetV2.Query"
                      },
                      "typeName": {
                        "id": 12120,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 12119,
                          "name": "WitnetV2.Query",
                          "nameLocations": [
                            "1984:8:41",
                            "1993:5:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 23455,
                          "src": "1984:14:41"
                        },
                        "referencedDeclaration": 23455,
                        "src": "1984:14:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                          "typeString": "struct WitnetV2.Query"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 12127,
                  "initialValue": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 12122,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12045,
                          "src": "2017:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 12123,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2017:6:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                          "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                        }
                      },
                      "id": 12124,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2024:7:41",
                      "memberName": "queries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12031,
                      "src": "2017:14:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                        "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                      }
                    },
                    "id": 12126,
                    "indexExpression": {
                      "id": 12125,
                      "name": "queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12111,
                      "src": "2032:7:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2017:23:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_storage",
                      "typeString": "struct WitnetV2.Query storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1984:56:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    },
                    "id": 12132,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 12128,
                          "name": "__query",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12121,
                          "src": "2055:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                            "typeString": "struct WitnetV2.Query storage pointer"
                          }
                        },
                        "id": 12129,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2063:8:41",
                        "memberName": "response",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23454,
                        "src": "2055:16:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Response_$23488_storage",
                          "typeString": "struct WitnetV2.Response storage ref"
                        }
                      },
                      "id": 12130,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2072:15:41",
                      "memberName": "resultTimestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23483,
                      "src": "2055:32:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 12131,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2091:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2055:37:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 12158,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "expression": {
                            "id": 12151,
                            "name": "__query",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12121,
                            "src": "2326:7:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                              "typeString": "struct WitnetV2.Query storage pointer"
                            }
                          },
                          "id": 12152,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2334:7:41",
                          "memberName": "request",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23451,
                          "src": "2326:15:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Request_$23476_storage",
                            "typeString": "struct WitnetV2.Request storage ref"
                          }
                        },
                        "id": 12153,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2342:9:41",
                        "memberName": "requester",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23464,
                        "src": "2326:25:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 12156,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2363:1:41",
                            "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": 12155,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2355:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 12154,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2355:7:41",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 12157,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2355:10:41",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "2326:39:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 12168,
                      "nodeType": "Block",
                      "src": "2434:62:41",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 12164,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "2456:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 12165,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2465:11:41",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23461,
                              "src": "2456:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "type(enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 12166,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "2477:7:41",
                            "memberName": "Unknown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23457,
                            "src": "2456:28:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "functionReturnParameters": 12116,
                          "id": 12167,
                          "nodeType": "Return",
                          "src": "2449:35:41"
                        }
                      ]
                    },
                    "id": 12169,
                    "nodeType": "IfStatement",
                    "src": "2322:174:41",
                    "trueBody": {
                      "id": 12163,
                      "nodeType": "Block",
                      "src": "2367:61:41",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 12159,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "2389:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 12160,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2398:11:41",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23461,
                              "src": "2389:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "type(enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 12161,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "2410:6:41",
                            "memberName": "Posted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23458,
                            "src": "2389:27:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "functionReturnParameters": 12116,
                          "id": 12162,
                          "nodeType": "Return",
                          "src": "2382:34:41"
                        }
                      ]
                    }
                  },
                  "id": 12170,
                  "nodeType": "IfStatement",
                  "src": "2051:445:41",
                  "trueBody": {
                    "id": 12150,
                    "nodeType": "Block",
                    "src": "2094:222:41",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 12138,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 12133,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967292,
                              "src": "2113:5:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 12134,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2119:6:41",
                            "memberName": "number",
                            "nodeType": "MemberAccess",
                            "src": "2113:12:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 12135,
                                "name": "__query",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12121,
                                "src": "2129:7:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                                  "typeString": "struct WitnetV2.Query storage pointer"
                                }
                              },
                              "id": 12136,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2137:8:41",
                              "memberName": "response",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23454,
                              "src": "2129:16:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Response_$23488_storage",
                                "typeString": "struct WitnetV2.Response storage ref"
                              }
                            },
                            "id": 12137,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2146:8:41",
                            "memberName": "finality",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23481,
                            "src": "2129:25:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "src": "2113:41:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 12148,
                          "nodeType": "Block",
                          "src": "2234:71:41",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 12144,
                                    "name": "WitnetV2",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 23640,
                                    "src": "2260:8:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                      "typeString": "type(library WitnetV2)"
                                    }
                                  },
                                  "id": 12145,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "2269:11:41",
                                  "memberName": "QueryStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23461,
                                  "src": "2260:20:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                    "typeString": "type(enum WitnetV2.QueryStatus)"
                                  }
                                },
                                "id": 12146,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "2281:8:41",
                                "memberName": "Reported",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23459,
                                "src": "2260:29:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryStatus_$23461",
                                  "typeString": "enum WitnetV2.QueryStatus"
                                }
                              },
                              "functionReturnParameters": 12116,
                              "id": 12147,
                              "nodeType": "Return",
                              "src": "2253:36:41"
                            }
                          ]
                        },
                        "id": 12149,
                        "nodeType": "IfStatement",
                        "src": "2109:196:41",
                        "trueBody": {
                          "id": 12143,
                          "nodeType": "Block",
                          "src": "2156:72:41",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 12139,
                                    "name": "WitnetV2",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 23640,
                                    "src": "2182:8:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                      "typeString": "type(library WitnetV2)"
                                    }
                                  },
                                  "id": 12140,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "2191:11:41",
                                  "memberName": "QueryStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23461,
                                  "src": "2182:20:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                    "typeString": "type(enum WitnetV2.QueryStatus)"
                                  }
                                },
                                "id": 12141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "2203:9:41",
                                "memberName": "Finalized",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23460,
                                "src": "2182:30:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_QueryStatus_$23461",
                                  "typeString": "enum WitnetV2.QueryStatus"
                                }
                              },
                              "functionReturnParameters": 12116,
                              "id": 12142,
                              "nodeType": "Return",
                              "src": "2175:37:41"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "id": 12172,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekQueryStatus",
            "nameLocation": "1895:15:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12112,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12111,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "1919:7:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12172,
                  "src": "1911:15:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12110,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1911:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1910:17:41"
            },
            "returnParameters": {
              "id": 12116,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12115,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12172,
                  "src": "1951:20:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryStatus_$23461",
                    "typeString": "enum WitnetV2.QueryStatus"
                  },
                  "typeName": {
                    "id": 12114,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12113,
                      "name": "WitnetV2.QueryStatus",
                      "nameLocations": [
                        "1951:8:41",
                        "1960:11:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23461,
                      "src": "1951:20:41"
                    },
                    "referencedDeclaration": 23461,
                    "src": "1951:20:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$23461",
                      "typeString": "enum WitnetV2.QueryStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1950:22:41"
            },
            "scope": 12396,
            "src": "1886:617:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12261,
              "nodeType": "Block",
              "src": "2609:1053:41",
              "statements": [
                {
                  "assignments": [
                    12184
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 12184,
                      "mutability": "mutable",
                      "name": "_queryStatus",
                      "nameLocation": "2641:12:41",
                      "nodeType": "VariableDeclaration",
                      "scope": 12261,
                      "src": "2620:33:41",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      },
                      "typeName": {
                        "id": 12183,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 12182,
                          "name": "WitnetV2.QueryStatus",
                          "nameLocations": [
                            "2620:8:41",
                            "2629:11:41"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 23461,
                          "src": "2620:20:41"
                        },
                        "referencedDeclaration": 23461,
                        "src": "2620:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 12188,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 12186,
                        "name": "queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12174,
                        "src": "2672:7:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 12185,
                      "name": "seekQueryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12172,
                      "src": "2656:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$23461_$",
                        "typeString": "function (uint256) view returns (enum WitnetV2.QueryStatus)"
                      }
                    },
                    "id": 12187,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2656:24:41",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$23461",
                      "typeString": "enum WitnetV2.QueryStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2620:60:41"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$23461",
                      "typeString": "enum WitnetV2.QueryStatus"
                    },
                    "id": 12193,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12189,
                      "name": "_queryStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12184,
                      "src": "2695:12:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 12190,
                          "name": "WitnetV2",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23640,
                          "src": "2711:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                            "typeString": "type(library WitnetV2)"
                          }
                        },
                        "id": 12191,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2720:11:41",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23461,
                        "src": "2711:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                          "typeString": "type(enum WitnetV2.QueryStatus)"
                        }
                      },
                      "id": 12192,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "2732:9:41",
                      "memberName": "Finalized",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23460,
                      "src": "2711:30:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      }
                    },
                    "src": "2695:46:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      },
                      "id": 12237,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 12233,
                        "name": "_queryStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12184,
                        "src": "3351:12:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 12234,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "3367:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 12235,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3376:11:41",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23461,
                          "src": "3367:20:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                            "typeString": "type(enum WitnetV2.QueryStatus)"
                          }
                        },
                        "id": 12236,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "3388:6:41",
                        "memberName": "Posted",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23458,
                        "src": "3367:27:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        }
                      },
                      "src": "3351:43:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        },
                        "id": 12247,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 12243,
                          "name": "_queryStatus",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12184,
                          "src": "3472:12:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 12244,
                              "name": "WitnetV2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23640,
                              "src": "3488:8:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                "typeString": "type(library WitnetV2)"
                              }
                            },
                            "id": 12245,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3497:11:41",
                            "memberName": "QueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23461,
                            "src": "3488:20:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                              "typeString": "type(enum WitnetV2.QueryStatus)"
                            }
                          },
                          "id": 12246,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "3509:8:41",
                          "memberName": "Reported",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23459,
                          "src": "3488:29:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          }
                        },
                        "src": "3472:45:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 12257,
                        "nodeType": "Block",
                        "src": "3593:62:41",
                        "statements": [
                          {
                            "expression": {
                              "expression": {
                                "expression": {
                                  "id": 12253,
                                  "name": "WitnetV2",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 23640,
                                  "src": "3615:8:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                    "typeString": "type(library WitnetV2)"
                                  }
                                },
                                "id": 12254,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3624:14:41",
                                "memberName": "ResponseStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23496,
                                "src": "3615:23:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                  "typeString": "type(enum WitnetV2.ResponseStatus)"
                                }
                              },
                              "id": 12255,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "3639:4:41",
                              "memberName": "Void",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23490,
                              "src": "3615:28:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                "typeString": "enum WitnetV2.ResponseStatus"
                              }
                            },
                            "functionReturnParameters": 12179,
                            "id": 12256,
                            "nodeType": "Return",
                            "src": "3608:35:41"
                          }
                        ]
                      },
                      "id": 12258,
                      "nodeType": "IfStatement",
                      "src": "3468:187:41",
                      "trueBody": {
                        "id": 12252,
                        "nodeType": "Block",
                        "src": "3519:68:41",
                        "statements": [
                          {
                            "expression": {
                              "expression": {
                                "expression": {
                                  "id": 12248,
                                  "name": "WitnetV2",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 23640,
                                  "src": "3541:8:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                    "typeString": "type(library WitnetV2)"
                                  }
                                },
                                "id": 12249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3550:14:41",
                                "memberName": "ResponseStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23496,
                                "src": "3541:23:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                  "typeString": "type(enum WitnetV2.ResponseStatus)"
                                }
                              },
                              "id": 12250,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "3565:10:41",
                              "memberName": "Finalizing",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23494,
                              "src": "3541:34:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                "typeString": "enum WitnetV2.ResponseStatus"
                              }
                            },
                            "functionReturnParameters": 12179,
                            "id": 12251,
                            "nodeType": "Return",
                            "src": "3534:41:41"
                          }
                        ]
                      }
                    },
                    "id": 12259,
                    "nodeType": "IfStatement",
                    "src": "3347:308:41",
                    "trueBody": {
                      "id": 12242,
                      "nodeType": "Block",
                      "src": "3396:66:41",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 12238,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "3418:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 12239,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3427:14:41",
                              "memberName": "ResponseStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23496,
                              "src": "3418:23:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                "typeString": "type(enum WitnetV2.ResponseStatus)"
                              }
                            },
                            "id": 12240,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "3442:8:41",
                            "memberName": "Awaiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23491,
                            "src": "3418:32:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                              "typeString": "enum WitnetV2.ResponseStatus"
                            }
                          },
                          "functionReturnParameters": 12179,
                          "id": 12241,
                          "nodeType": "Return",
                          "src": "3411:39:41"
                        }
                      ]
                    }
                  },
                  "id": 12260,
                  "nodeType": "IfStatement",
                  "src": "2691:964:41",
                  "trueBody": {
                    "id": 12232,
                    "nodeType": "Block",
                    "src": "2743:598:41",
                    "statements": [
                      {
                        "assignments": [
                          12195
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 12195,
                            "mutability": "mutable",
                            "name": "__cborValues",
                            "nameLocation": "2772:12:41",
                            "nodeType": "VariableDeclaration",
                            "scope": 12232,
                            "src": "2758:26:41",
                            "stateVariable": false,
                            "storageLocation": "storage",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 12194,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "2758:5:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 12203,
                        "initialValue": {
                          "expression": {
                            "expression": {
                              "baseExpression": {
                                "expression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 12196,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12045,
                                    "src": "2787:4:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                                      "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                                    }
                                  },
                                  "id": 12197,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2787:6:41",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                                    "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                                  }
                                },
                                "id": 12198,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2794:7:41",
                                "memberName": "queries",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12031,
                                "src": "2787:14:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                                  "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                                }
                              },
                              "id": 12200,
                              "indexExpression": {
                                "id": 12199,
                                "name": "queryId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12174,
                                "src": "2802:7:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2787:23:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Query_$23455_storage",
                                "typeString": "struct WitnetV2.Query storage ref"
                              }
                            },
                            "id": 12201,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2811:8:41",
                            "memberName": "response",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23454,
                            "src": "2787:32:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Response_$23488_storage",
                              "typeString": "struct WitnetV2.Response storage ref"
                            }
                          },
                          "id": 12202,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2820:15:41",
                          "memberName": "resultCborBytes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23487,
                          "src": "2787:48:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2758:77:41"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 12207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 12204,
                              "name": "__cborValues",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12195,
                              "src": "2854:12:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes storage pointer"
                              }
                            },
                            "id": 12205,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2867:6:41",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "2854:19:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 12206,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2876:1:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2854:23:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 12230,
                          "nodeType": "Block",
                          "src": "3175:155:41",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 12226,
                                    "name": "WitnetV2",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 23640,
                                    "src": "3281:8:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                      "typeString": "type(library WitnetV2)"
                                    }
                                  },
                                  "id": 12227,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3290:14:41",
                                  "memberName": "ResponseStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23496,
                                  "src": "3281:23:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                    "typeString": "type(enum WitnetV2.ResponseStatus)"
                                  }
                                },
                                "id": 12228,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "3305:9:41",
                                "memberName": "Delivered",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23495,
                                "src": "3281:33:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                  "typeString": "enum WitnetV2.ResponseStatus"
                                }
                              },
                              "functionReturnParameters": 12179,
                              "id": 12229,
                              "nodeType": "Return",
                              "src": "3274:40:41"
                            }
                          ]
                        },
                        "id": 12231,
                        "nodeType": "IfStatement",
                        "src": "2850:480:41",
                        "trueBody": {
                          "id": 12225,
                          "nodeType": "Block",
                          "src": "2879:290:41",
                          "statements": [
                            {
                              "expression": {
                                "components": [
                                  {
                                    "condition": {
                                      "commonType": {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                      },
                                      "id": 12215,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "baseExpression": {
                                          "id": 12208,
                                          "name": "__cborValues",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12195,
                                          "src": "2996:12:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes storage pointer"
                                          }
                                        },
                                        "id": 12210,
                                        "indexExpression": {
                                          "hexValue": "30",
                                          "id": 12209,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "3009:1:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "2996:15:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "arguments": [
                                          {
                                            "hexValue": "30786438",
                                            "id": 12213,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "3022:4:41",
                                            "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": 12212,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "3015:6:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 12211,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "3015:6:41",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 12214,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3015:12:41",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      "src": "2996:31:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "falseExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 12219,
                                          "name": "WitnetV2",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 23640,
                                          "src": "3105:8:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                            "typeString": "type(library WitnetV2)"
                                          }
                                        },
                                        "id": 12220,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "3114:14:41",
                                        "memberName": "ResponseStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 23496,
                                        "src": "3105:23:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                          "typeString": "type(enum WitnetV2.ResponseStatus)"
                                        }
                                      },
                                      "id": 12221,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "3129:5:41",
                                      "memberName": "Ready",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23492,
                                      "src": "3105:29:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                        "typeString": "enum WitnetV2.ResponseStatus"
                                      }
                                    },
                                    "id": 12222,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "Conditional",
                                    "src": "2996:138:41",
                                    "trueExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 12216,
                                          "name": "WitnetV2",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 23640,
                                          "src": "3051:8:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                            "typeString": "type(library WitnetV2)"
                                          }
                                        },
                                        "id": 12217,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "3060:14:41",
                                        "memberName": "ResponseStatus",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 23496,
                                        "src": "3051:23:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                                          "typeString": "type(enum WitnetV2.ResponseStatus)"
                                        }
                                      },
                                      "id": 12218,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "3075:5:41",
                                      "memberName": "Error",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23493,
                                      "src": "3051:29:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                        "typeString": "enum WitnetV2.ResponseStatus"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                      "typeString": "enum WitnetV2.ResponseStatus"
                                    }
                                  }
                                ],
                                "id": 12223,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "2995:158:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                                  "typeString": "enum WitnetV2.ResponseStatus"
                                }
                              },
                              "functionReturnParameters": 12179,
                              "id": 12224,
                              "nodeType": "Return",
                              "src": "2988:165:41"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "id": 12262,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekQueryResponseStatus",
            "nameLocation": "2520:23:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12174,
                  "mutability": "mutable",
                  "name": "queryId",
                  "nameLocation": "2552:7:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12262,
                  "src": "2544:15:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12173,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2544:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2543:17:41"
            },
            "returnParameters": {
              "id": 12179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12178,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12262,
                  "src": "2584:23:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                    "typeString": "enum WitnetV2.ResponseStatus"
                  },
                  "typeName": {
                    "id": 12177,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12176,
                      "name": "WitnetV2.ResponseStatus",
                      "nameLocations": [
                        "2584:8:41",
                        "2593:14:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23496,
                      "src": "2584:23:41"
                    },
                    "referencedDeclaration": 23496,
                    "src": "2584:23:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2583:25:41"
            },
            "scope": 12396,
            "src": "2511:1151:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12355,
              "nodeType": "Block",
              "src": "4081:779:41",
              "statements": [
                {
                  "expression": {
                    "id": 12281,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 12274,
                      "name": "bytecodes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12272,
                      "src": "4092:9:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                        "typeString": "bytes memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 12278,
                            "name": "queryIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12268,
                            "src": "4116:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                              "typeString": "uint256[] calldata"
                            }
                          },
                          "id": 12279,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4125:6:41",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "4116:15:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 12277,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "4104:11:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 12275,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "4108:5:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          },
                          "id": 12276,
                          "nodeType": "ArrayTypeName",
                          "src": "4108:7:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                            "typeString": "bytes[]"
                          }
                        }
                      },
                      "id": 12280,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4104:28:41",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                        "typeString": "bytes memory[] memory"
                      }
                    },
                    "src": "4092:40:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                      "typeString": "bytes memory[] memory"
                    }
                  },
                  "id": 12282,
                  "nodeType": "ExpressionStatement",
                  "src": "4092:40:41"
                },
                {
                  "body": {
                    "id": 12353,
                    "nodeType": "Block",
                    "src": "4193:660:41",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          },
                          "id": 12302,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 12295,
                                  "name": "queryIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12268,
                                  "src": "4228:8:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                    "typeString": "uint256[] calldata"
                                  }
                                },
                                "id": 12297,
                                "indexExpression": {
                                  "id": 12296,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12284,
                                  "src": "4237:3:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4228:13:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 12294,
                              "name": "seekQueryStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12172,
                              "src": "4212:15:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "function (uint256) view returns (enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 12298,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4212:30:41",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 12299,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "4246:8:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 12300,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "4255:11:41",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23461,
                              "src": "4246:20:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "type(enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 12301,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "4267:7:41",
                            "memberName": "Unknown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23457,
                            "src": "4246:28:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "src": "4212:62:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 12352,
                        "nodeType": "IfStatement",
                        "src": "4208:634:41",
                        "trueBody": {
                          "id": 12351,
                          "nodeType": "Block",
                          "src": "4276:566:41",
                          "statements": [
                            {
                              "assignments": [
                                12307
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 12307,
                                  "mutability": "mutable",
                                  "name": "__request",
                                  "nameLocation": "4320:9:41",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 12351,
                                  "src": "4295:34:41",
                                  "stateVariable": false,
                                  "storageLocation": "storage",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                    "typeString": "struct WitnetV2.Request"
                                  },
                                  "typeName": {
                                    "id": 12306,
                                    "nodeType": "UserDefinedTypeName",
                                    "pathNode": {
                                      "id": 12305,
                                      "name": "WitnetV2.Request",
                                      "nameLocations": [
                                        "4295:8:41",
                                        "4304:7:41"
                                      ],
                                      "nodeType": "IdentifierPath",
                                      "referencedDeclaration": 23476,
                                      "src": "4295:16:41"
                                    },
                                    "referencedDeclaration": 23476,
                                    "src": "4295:16:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 12316,
                              "initialValue": {
                                "expression": {
                                  "baseExpression": {
                                    "expression": {
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "id": 12308,
                                        "name": "data",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12045,
                                        "src": "4332:4:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12036_storage_ptr_$",
                                          "typeString": "function () pure returns (struct WitnetOracleDataLib.Storage storage pointer)"
                                        }
                                      },
                                      "id": 12309,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "4332:6:41",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Storage_$12036_storage_ptr",
                                        "typeString": "struct WitnetOracleDataLib.Storage storage pointer"
                                      }
                                    },
                                    "id": 12310,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "4339:7:41",
                                    "memberName": "queries",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 12031,
                                    "src": "4332:14:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Query_$23455_storage_$",
                                      "typeString": "mapping(uint256 => struct WitnetV2.Query storage ref)"
                                    }
                                  },
                                  "id": 12314,
                                  "indexExpression": {
                                    "baseExpression": {
                                      "id": 12311,
                                      "name": "queryIds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12268,
                                      "src": "4347:8:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                        "typeString": "uint256[] calldata"
                                      }
                                    },
                                    "id": 12313,
                                    "indexExpression": {
                                      "id": 12312,
                                      "name": "_ix",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 12284,
                                      "src": "4356:3:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "4347:13:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4332:29:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Query_$23455_storage",
                                    "typeString": "struct WitnetV2.Query storage ref"
                                  }
                                },
                                "id": 12315,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4362:7:41",
                                "memberName": "request",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 23451,
                                "src": "4332:37:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Request_$23476_storage",
                                  "typeString": "struct WitnetV2.Request storage ref"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "4295:74:41"
                            },
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                "id": 12323,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 12317,
                                    "name": "__request",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12307,
                                    "src": "4392:9:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request storage pointer"
                                    }
                                  },
                                  "id": 12318,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "4402:9:41",
                                  "memberName": "witnetRAD",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23472,
                                  "src": "4392:19:41",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 12321,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "4423:1:41",
                                      "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": 12320,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "4415:7:41",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes32_$",
                                      "typeString": "type(bytes32)"
                                    },
                                    "typeName": {
                                      "id": 12319,
                                      "name": "bytes32",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "4415:7:41",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 12322,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "4415:10:41",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "4392:33:41",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 12349,
                                "nodeType": "Block",
                                "src": "4627:200:41",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 12347,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "baseExpression": {
                                          "id": 12337,
                                          "name": "bytecodes",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12272,
                                          "src": "4650:9:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                                            "typeString": "bytes memory[] memory"
                                          }
                                        },
                                        "id": 12339,
                                        "indexExpression": {
                                          "id": 12338,
                                          "name": "_ix",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12284,
                                          "src": "4660:3:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": true,
                                        "nodeType": "IndexAccess",
                                        "src": "4650:14:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "id": 12342,
                                              "name": "__request",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12307,
                                              "src": "4713:9:41",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                "typeString": "struct WitnetV2.Request storage pointer"
                                              }
                                            },
                                            "id": 12343,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "4723:14:41",
                                            "memberName": "witnetBytecode",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 23470,
                                            "src": "4713:24:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_storage",
                                              "typeString": "bytes storage ref"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "id": 12344,
                                              "name": "__request",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12307,
                                              "src": "4764:9:41",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                "typeString": "struct WitnetV2.Request storage pointer"
                                              }
                                            },
                                            "id": 12345,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "4774:9:41",
                                            "memberName": "witnetSLA",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 23475,
                                            "src": "4764:19:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes_storage",
                                              "typeString": "bytes storage ref"
                                            },
                                            {
                                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                                            }
                                          ],
                                          "expression": {
                                            "id": 12340,
                                            "name": "registry",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12265,
                                            "src": "4667:8:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                                              "typeString": "contract WitnetRequestBytecodes"
                                            }
                                          },
                                          "id": 12341,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "4676:10:41",
                                          "memberName": "bytecodeOf",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 13816,
                                          "src": "4667:19:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function (bytes memory,struct WitnetV2.RadonSLA memory) view external returns (bytes memory)"
                                          }
                                        },
                                        "id": 12346,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4667:140:41",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      },
                                      "src": "4650:157:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "id": 12348,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4650:157:41"
                                  }
                                ]
                              },
                              "id": 12350,
                              "nodeType": "IfStatement",
                              "src": "4388:439:41",
                              "trueBody": {
                                "id": 12336,
                                "nodeType": "Block",
                                "src": "4427:194:41",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 12334,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "baseExpression": {
                                          "id": 12324,
                                          "name": "bytecodes",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12272,
                                          "src": "4450:9:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                                            "typeString": "bytes memory[] memory"
                                          }
                                        },
                                        "id": 12326,
                                        "indexExpression": {
                                          "id": 12325,
                                          "name": "_ix",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 12284,
                                          "src": "4460:3:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": true,
                                        "nodeType": "IndexAccess",
                                        "src": "4450:14:41",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "id": 12329,
                                              "name": "__request",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12307,
                                              "src": "4513:9:41",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                "typeString": "struct WitnetV2.Request storage pointer"
                                              }
                                            },
                                            "id": 12330,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "4523:9:41",
                                            "memberName": "witnetRAD",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 23472,
                                            "src": "4513:19:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "id": 12331,
                                              "name": "__request",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 12307,
                                              "src": "4559:9:41",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                "typeString": "struct WitnetV2.Request storage pointer"
                                              }
                                            },
                                            "id": 12332,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "4569:9:41",
                                            "memberName": "witnetSLA",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 23475,
                                            "src": "4559:19:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            },
                                            {
                                              "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                                              "typeString": "struct WitnetV2.RadonSLA storage ref"
                                            }
                                          ],
                                          "expression": {
                                            "id": 12327,
                                            "name": "registry",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12265,
                                            "src": "4467:8:41",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                                              "typeString": "contract WitnetRequestBytecodes"
                                            }
                                          },
                                          "id": 12328,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "4476:10:41",
                                          "memberName": "bytecodeOf",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 13806,
                                          "src": "4467:19:41",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_struct$_RadonSLA_$23503_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function (bytes32,struct WitnetV2.RadonSLA memory) view external returns (bytes memory)"
                                          }
                                        },
                                        "id": 12333,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4467:134:41",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      },
                                      "src": "4450:151:41",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "id": 12335,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4450:151:41"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 12290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12287,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12284,
                      "src": "4162:3:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 12288,
                        "name": "queryIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12268,
                        "src": "4168:8:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                          "typeString": "uint256[] calldata"
                        }
                      },
                      "id": 12289,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4177:6:41",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "4168:15:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4162:21:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 12354,
                  "initializationExpression": {
                    "assignments": [
                      12284
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 12284,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "4153:3:41",
                        "nodeType": "VariableDeclaration",
                        "scope": 12354,
                        "src": "4148:8:41",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 12283,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "4148:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 12286,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 12285,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4159:1:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "4148:12:41"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 12292,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "4185:6:41",
                      "subExpression": {
                        "id": 12291,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12284,
                        "src": "4185:3:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12293,
                    "nodeType": "ExpressionStatement",
                    "src": "4185:6:41"
                  },
                  "nodeType": "ForStatement",
                  "src": "4143:710:41"
                }
              ]
            },
            "functionSelector": "014728c4",
            "id": 12356,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "extractWitnetDataRequests",
            "nameLocation": "3923:25:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12269,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12265,
                  "mutability": "mutable",
                  "name": "registry",
                  "nameLocation": "3972:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12356,
                  "src": "3949:31:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 12264,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12263,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "3949:22:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "3949:22:41"
                    },
                    "referencedDeclaration": 849,
                    "src": "3949:22:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12268,
                  "mutability": "mutable",
                  "name": "queryIds",
                  "nameLocation": "4001:8:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12356,
                  "src": "3982:27:41",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12266,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "3982:7:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12267,
                    "nodeType": "ArrayTypeName",
                    "src": "3982:9:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3948:62:41"
            },
            "returnParameters": {
              "id": 12273,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12272,
                  "mutability": "mutable",
                  "name": "bytecodes",
                  "nameLocation": "4065:9:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12356,
                  "src": "4050:24:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                    "typeString": "bytes[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12270,
                      "name": "bytes",
                      "nodeType": "ElementaryTypeName",
                      "src": "4050:5:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_storage_ptr",
                        "typeString": "bytes"
                      }
                    },
                    "id": 12271,
                    "nodeType": "ArrayTypeName",
                    "src": "4050:7:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                      "typeString": "bytes[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4049:26:41"
            },
            "scope": 12396,
            "src": "3914:946:41",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 12394,
              "nodeType": "Block",
              "src": "4965:399:41",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_QueryStatus_$23461",
                      "typeString": "enum WitnetV2.QueryStatus"
                    },
                    "id": 12368,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12364,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12359,
                      "src": "4980:4:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 12365,
                          "name": "WitnetV2",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23640,
                          "src": "4988:8:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                            "typeString": "type(library WitnetV2)"
                          }
                        },
                        "id": 12366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4997:11:41",
                        "memberName": "QueryStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23461,
                        "src": "4988:20:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                          "typeString": "type(enum WitnetV2.QueryStatus)"
                        }
                      },
                      "id": 12367,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "5009:6:41",
                      "memberName": "Posted",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23458,
                      "src": "4988:27:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      }
                    },
                    "src": "4980:35:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_QueryStatus_$23461",
                        "typeString": "enum WitnetV2.QueryStatus"
                      },
                      "id": 12376,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 12372,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12359,
                        "src": "5089:4:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 12373,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "5097:8:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 12374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5106:11:41",
                          "memberName": "QueryStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23461,
                          "src": "5097:20:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                            "typeString": "type(enum WitnetV2.QueryStatus)"
                          }
                        },
                        "id": 12375,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "5118:8:41",
                        "memberName": "Reported",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23459,
                        "src": "5097:29:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        }
                      },
                      "src": "5089:37:41",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_QueryStatus_$23461",
                          "typeString": "enum WitnetV2.QueryStatus"
                        },
                        "id": 12384,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 12380,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12359,
                          "src": "5202:4:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 12381,
                              "name": "WitnetV2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23640,
                              "src": "5210:8:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                "typeString": "type(library WitnetV2)"
                              }
                            },
                            "id": 12382,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5219:11:41",
                            "memberName": "QueryStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23461,
                            "src": "5210:20:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                              "typeString": "type(enum WitnetV2.QueryStatus)"
                            }
                          },
                          "id": 12383,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "5231:9:41",
                          "memberName": "Finalized",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23460,
                          "src": "5210:30:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          }
                        },
                        "src": "5202:38:41",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 12390,
                        "nodeType": "Block",
                        "src": "5313:44:41",
                        "statements": [
                          {
                            "expression": {
                              "hexValue": "626164206d6f6f64",
                              "id": 12388,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5335:10:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_a447f5d49d1ea2ccb52d4d66ce9a795173b813029cdb42a1f61ba2f403e18a3c",
                                "typeString": "literal_string \"bad mood\""
                              },
                              "value": "bad mood"
                            },
                            "functionReturnParameters": 12363,
                            "id": 12389,
                            "nodeType": "Return",
                            "src": "5328:17:41"
                          }
                        ]
                      },
                      "id": 12391,
                      "nodeType": "IfStatement",
                      "src": "5198:159:41",
                      "trueBody": {
                        "id": 12387,
                        "nodeType": "Block",
                        "src": "5242:65:41",
                        "statements": [
                          {
                            "expression": {
                              "hexValue": "7175657279206e6f7420696e2046696e616c697a656420737461747573",
                              "id": 12385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5264:31:41",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_8d18ec8d49e2622eb302cdda7b14959a68916f6fbd1712786852b38fae8941c8",
                                "typeString": "literal_string \"query not in Finalized status\""
                              },
                              "value": "query not in Finalized status"
                            },
                            "functionReturnParameters": 12363,
                            "id": 12386,
                            "nodeType": "Return",
                            "src": "5257:38:41"
                          }
                        ]
                      }
                    },
                    "id": 12392,
                    "nodeType": "IfStatement",
                    "src": "5085:272:41",
                    "trueBody": {
                      "id": 12379,
                      "nodeType": "Block",
                      "src": "5128:64:41",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "7175657279206e6f7420696e205265706f7274656420737461747573",
                            "id": 12377,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5150:30:41",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b59c4c286e6e2d83b7a9f0c3b3dda607ad9f5c2a0e55273c8e8e5a4e7b912c02",
                              "typeString": "literal_string \"query not in Reported status\""
                            },
                            "value": "query not in Reported status"
                          },
                          "functionReturnParameters": 12363,
                          "id": 12378,
                          "nodeType": "Return",
                          "src": "5143:37:41"
                        }
                      ]
                    }
                  },
                  "id": 12393,
                  "nodeType": "IfStatement",
                  "src": "4976:381:41",
                  "trueBody": {
                    "id": 12371,
                    "nodeType": "Block",
                    "src": "5017:62:41",
                    "statements": [
                      {
                        "expression": {
                          "hexValue": "7175657279206e6f7420696e20506f7374656420737461747573",
                          "id": 12369,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5039:28:41",
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c8649bcac90066b8162c3822c9681483774bd3d0f5a06cbdd1b412b88c60ee36",
                            "typeString": "literal_string \"query not in Posted status\""
                          },
                          "value": "query not in Posted status"
                        },
                        "functionReturnParameters": 12363,
                        "id": 12370,
                        "nodeType": "Return",
                        "src": "5032:35:41"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "a7d10ea2",
            "id": 12395,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "notInStatusRevertMessage",
            "nameLocation": "4877:24:41",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12359,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "4923:4:41",
                  "nodeType": "VariableDeclaration",
                  "scope": 12395,
                  "src": "4902:25:41",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryStatus_$23461",
                    "typeString": "enum WitnetV2.QueryStatus"
                  },
                  "typeName": {
                    "id": 12358,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12357,
                      "name": "WitnetV2.QueryStatus",
                      "nameLocations": [
                        "4902:8:41",
                        "4911:11:41"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23461,
                      "src": "4902:20:41"
                    },
                    "referencedDeclaration": 23461,
                    "src": "4902:20:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryStatus_$23461",
                      "typeString": "enum WitnetV2.QueryStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4901:27:41"
            },
            "returnParameters": {
              "id": 12363,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12362,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12395,
                  "src": "4950:13:41",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 12361,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4950:6:41",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4949:15:41"
            },
            "scope": 12396,
            "src": "4868:496:41",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 12397,
        "src": "238:5129:41",
        "usedErrors": [],
        "usedEvents": []
      }
    ],
    "src": "35:5334:41"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {
    "322": {
      "events": {},
      "links": {},
      "address": "0x561A6c8F9C9D6e7EbAEcd4963A8f27Ae13568676"
    },
    "11155111": {
      "events": {},
      "links": {},
      "address": "0x561A6c8F9C9D6e7EbAEcd4963A8f27Ae13568676"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.485Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {},
    "title": "Witnet Request Board base data model library",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}