{
  "contractName": "WitPriceFeedsLegacyBypassV3",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_surrogate",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrancyGuardReentrantCall",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "baseAddr",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "baseCodehash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "versionTag",
          "type": "string"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract IWitOracleRadonRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "surrogate",
      "outputs": [
        {
          "internalType": "contract IWitPriceFeeds",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "estimateUpdateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "footprint",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupCaption",
      "outputs": [
        {
          "internalType": "string",
          "name": "_caption",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "supportedFeeds",
      "outputs": [
        {
          "internalType": "bytes4[]",
          "name": "_ids",
          "type": "bytes4[]"
        },
        {
          "internalType": "string[]",
          "name": "_captions",
          "type": "string[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "_solvers",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "supportsCaption",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalFeeds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "resultDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            }
          ],
          "internalType": "struct Witnet.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bytes",
              "name": "radonBytecode",
              "type": "bytes"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "radonHash",
              "type": "bytes32"
            }
          ],
          "internalType": "struct Witnet.QueryRequest",
          "name": "_void",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetBytecode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRadHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_void",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRetrievals",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonRetrievalMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "radonScript",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval[]",
          "name": "_void",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "defaultRadonSLA",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "minConsensusPercentage",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "witnessCollateral",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "minerCommitRevealFee",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv1",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "resultDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            }
          ],
          "internalType": "struct Witnet.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponseStatus",
      "outputs": [
        {
          "internalType": "enum IWitOracleLegacy.QueryResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct IWitOracleLegacy.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "unitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv2",
          "name": "",
          "type": "tuple"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witnet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "baseFeeOverheadPercentage",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "deleteFeed",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deleteFeeds",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "name": "settleBaseFeeOverheadPercentage",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "unitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv2",
          "name": "",
          "type": "tuple"
        }
      ],
      "name": "settleDefaultRadonSLA",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "contract IWitOracleRequest",
          "name": "",
          "type": "address"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "contract IWitOracleRequestTemplate",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "string[][]",
          "name": "",
          "type": "string[][]"
        }
      ],
      "name": "settleFeedRequest",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "",
          "type": "string[]"
        }
      ],
      "name": "settleFeedSolver",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceSolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "_solverAddress",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "_solverDeps",
          "type": "string[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4[]",
          "name": "feedIds",
          "type": "bytes4[]"
        }
      ],
      "name": "latestPrices",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price[]",
          "name": "_prices",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "feedId",
          "type": "bytes32"
        }
      ],
      "name": "valueFor",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_surrogate\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFeeOverheadPercentage\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultRadonSLA\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minConsensusPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minerCommitRevealFee\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv1\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"deleteFeed\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteFeeds\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"estimateUpdateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"footprint\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"feedIds\",\"type\":\"bytes4[]\"}],\"name\":\"latestPrices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price[]\",\"name\":\"_prices\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct Witnet.QueryRequest\",\"name\":\"_void\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponseStatus\",\"outputs\":[{\"internalType\":\"enum IWitOracleLegacy.QueryResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IWitOracleLegacy.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_caption\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceSolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_solverAddress\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"_solverDeps\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRadHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_void\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRetrievals\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"radonScript\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval[]\",\"name\":\"_void\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IWitOracleRadonRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv2\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"name\":\"settleBaseFeeOverheadPercentage\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv2\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"settleDefaultRadonSLA\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"contract IWitOracleRequest\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"contract IWitOracleRequestTemplate\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string[][]\",\"name\":\"\",\"type\":\"string[][]\"}],\"name\":\"settleFeedRequest\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"name\":\"settleFeedSolver\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supportedFeeds\",\"outputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"_ids\",\"type\":\"bytes4[]\"},{\"internalType\":\"string[]\",\"name\":\"_captions\",\"type\":\"string[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_solvers\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"supportsCaption\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"surrogate\",\"outputs\":[{\"internalType\":\"contract IWitPriceFeeds\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalFeeds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"feedId\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@witnet.io>\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"}},\"title\":\"WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"defaultRadonSLA()\":{\"notice\":\"=============================================================================================================== --- IWitFeedsLegacy -------------------------------------------------------------------------------------------\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/WitPriceFeedsLegacyBypassV3.sol\":\"WitPriceFeedsLegacyBypassV3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/WitPriceFeedsLegacy.sol\":{\"keccak256\":\"0xc6ba1350b77e0fda49b76b36c53804d9c1e98045e7e80f5e7d975458870014ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09ecba1953749dbe414e55b47cd176c597563d9629f281b75f87d5a11f2db8d\",\"dweb:/ipfs/QmYyhGAqwss5DdSsBFVQJ9FxrDGSTQe3orL76Lmyod4Yiu\"]},\"project:/contracts/apps/WitPriceFeedsLegacyBypassV3.sol\":{\"keccak256\":\"0x5e01cdd672ff0ae561143be49e6eabc2c8ece5f081596a9bdde02e34c25e2732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac5dd2f25a22fc31981c32ea99066fc83521d63ff0d8cddee5d9243fa69fe937\",\"dweb:/ipfs/QmXFxtgYEn1bYToraaXz2hZijmbp7quWxkS3PHffyeRVmf\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x6f0ec2c544192c9439bde88f5ed4efec5bdef506cb0dcb739c29329a798033fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca05338334632aab3aef3c17a4b8686251ec488da49b9fcd3712642e57e0ce2a\",\"dweb:/ipfs/QmZk1uDdytKFii4TXUnJkFBBB3CZVSPKKR85ugFjWUTufS\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x4cea0415b77897e151454ce87c1e20b7dc9f232de72b54a6740c90e076f7e1b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0b803611c3a863ac5806b16e7d2a48b0e062fece262c750d121b5e9e17eb082\",\"dweb:/ipfs/QmVhFt1TkbkZ48jLsN5LgnpzpTdoMbfqGyMSJxjaEqisht\"]},\"project:/contracts/data/WitPriceFeedsLegacyDataLib.sol\":{\"keccak256\":\"0xd4eab3434b51c88c628faa9ff042122762f40d082002b0c1e8ccd167635452e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dc424d929cb930bb3f5da94117ab284b2b6062337e55d5a49034b4a8158fd22\",\"dweb:/ipfs/QmPXeUcbtSKK8gApymg7wwKSqRY3mMDB8RS643vofWCeMo\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitPriceFeeds.sol\":{\"keccak256\":\"0xb29abe8819699e37e91b41c4cb63273fbb0ab8c482a09c31da6c91d7338cc405\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9325f3cbd3b396216268ec83d583abd86f44a5d656c375485296e256b3c2f2a\",\"dweb:/ipfs/Qme8pjdacDLa8HLKF7Sm3XZa9uUQn1EL7gANLnAbak8y4f\"]},\"project:/contracts/interfaces/IWitPriceFeedsAdmin.sol\":{\"keccak256\":\"0xd05b103840eeb8a4770e140dbe91bd40dd33d92959d226c57a2ae45a5e615355\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29e6104b0b62c676bb797ce8d01512550058f5b6de210b2467ba9bb0dfe8c00f\",\"dweb:/ipfs/QmUAgsVJYHqiRFrrnWCYo5vGJRaN4VsZvcBXJWYJUF5QyV\"]},\"project:/contracts/interfaces/IWitPriceFeedsConsumer.sol\":{\"keccak256\":\"0x2c12c7f4502a2953f352b67688cd8841a1198c9b8e8f9f87ab3fc0163b7533e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d82ec627ac4c38a7336b03541c118d606e107128ba109097857a26d376e92f33\",\"dweb:/ipfs/QmQBmvL5ziD7fY2vDBNpbDbbhnwi8Cwh4XVthUjTd9ZyCF\"]},\"project:/contracts/interfaces/IWitPriceFeedsEvents.sol\":{\"keccak256\":\"0xf8b1a2ca8dd8dc8a5b8debf18f4c32df404709a4b03353c939e57a92a4e41b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f755b639781013ae0bae92f063b1f5b440c187bbc9a7f938b6982e579114acfe\",\"dweb:/ipfs/QmZafsjeELGnVdbXvsiXeQ82vR7DBFCrwDLGqeopgxBgyC\"]},\"project:/contracts/interfaces/IWitPriceFeedsTypes.sol\":{\"keccak256\":\"0x68e2189e863f50e8d0aad8394a526df00c1e626886c23aa24c915427e5285e46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5ff40355d4144e7c08f033b55e9ef1b5994bbd83bbfbd7a41129b141f164194\",\"dweb:/ipfs/QmXMhM7GXaVXnCQ1VFB4kPhbhbfktuNFKqMGXMtWLgUk3d\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol\":{\"keccak256\":\"0x13222d4ec5a538477e792ff63338a12db2c0071d81a61aad7a046ad2880cefd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f564e6a69264f7e0679525022978f9833a0f1273ef606e554c2a18ba964d13\",\"dweb:/ipfs/QmaAVfsvnJQvYwdsnYSXAnbJWopp15PR3atXxCwZS3AANC\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol\":{\"keccak256\":\"0x2a2a422478348acb0ced6e76dbc14dacbfec95833f874ecb588718523117fb0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dcb6d3802e68441cb944f69ae5ba0e00b9ca82ad97f9adfaff5ffd44e0a6aae2\",\"dweb:/ipfs/QmYFvuGH6cUwhW67thWDMLfNcenicKcMgicLTnNAG4LHM7\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol\":{\"keccak256\":\"0x9543c5a64bbd38a3d1af6d00badda31c8c1fc90412efc7894023277e1e6b7490\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab133acd1c20af1f676bf17017c77e4918338fdbad764660e42d892a5f412eaf\",\"dweb:/ipfs/QmeQFGuv3jm46R4bux8NaW56SbFWHvvBNCqFzfafgtWi1W\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolverFactory.sol\":{\"keccak256\":\"0xdb0b2588d715db0193f0906e664bbd69193328cd4bdaae0a649e42c454736fe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f11087814a6020388db71d5ebe3c3def5642c77c540ea5b4101aaff6920d5444\",\"dweb:/ipfs/QmYnDq2uAjxqfmHEcG3rZRvz7FRfGiWqfStUMRqhBk8vax\"]},\"project:/contracts/interfaces/legacy/IWitPyth.sol\":{\"keccak256\":\"0xa06a34a5e553beae7dbe09a5d1049557190511e696a1b855ab5e1196a06048a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c814b7be5539147c0ba1b55f6cddcad382d5e5e9f9de545d2d428c1989c7de\",\"dweb:/ipfs/QmY8KSV3PW2FBQVzXidLQ21KvDJ1v6y8WHaV8uxsqThJCC\"]},\"project:/contracts/interfaces/legacy/IWitPythErrors.sol\":{\"keccak256\":\"0x7d10dfd625a4914e4017cde140397f9f236f726ea82b4feed1d889f852866c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bbf8dc2bbac36cf0a141f7062b6ed8143cffaee7969a1afc3cf0d1971e8cf18\",\"dweb:/ipfs/QmbLiZwggZwhiTLJurBkAu492xAZZ9MXWiknsuGnLYNXhP\"]},\"project:/contracts/interfaces/legacy/IWitPythEvents.sol\":{\"keccak256\":\"0xacca21f4bb4d740de63f4f2e469e8313b1d8f9a7d2340efcc17981c3510c2800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b0493082593838fbc4df2431c1983a82165ae1f17215e988951c0c1ef3882\",\"dweb:/ipfs/QmNUX9K3UqxiR9igT87iLja8h3u7htp83ZhAGZ6UgD3BZP\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x45ed9d1f98e2a7a5bd1a7040dbd4292f1458fa1cb212d0143718684efa436bd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45d347c5ef492b33dcf3953bb3911fe7160a6c812e69ed84d2511f0847e19229\",\"dweb:/ipfs/QmZp3icE2gQBoJp8KorWC1GfGC8mK29sK9fEveKRMNCY1U\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/ReentrancyGuard.sol\":{\"keccak256\":\"0x1470caf4bd78b79f706e28a8a85c95a6e13ec33eda04275e5da84464130831e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c974fb4dc29718a84f9ab5fa3f8c25c7f889050a38445e16c3ead5ff9d4b4bab\",\"dweb:/ipfs/QmbuGjkSjngbTZMRPijL9p56fP9cK5jMnWsFmvYAQj3qAY\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}",
  "bytecode": "0x6101806040523361010052348015610015575f5ffd5b506040516144c83803806144c8833981016040819052610034916102ef565b60408051808201909152601f81527f696f2e7769746e65742e70726f786961626c652e66656564732e70726963650060208201528190839082338061009357604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61009c816101f1565b5030608052151560c052600160025560e0919091528051602090910120610120525061010f6001600160a01b038416158015906100e257505f846001600160a01b03163b115b604080518082019091526011815270696e76616c696420737572726f6761746560781b602082015261020d565b6001600160a01b03831661014081905260408051631014d37560e01b81529051631014d375916004808201926020929091908290030181865afa158015610158573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017c9190610333565b6001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101db9190610333565b6001600160a01b031661016052506103ca915050565b600180546001600160a01b031916905561020a81610220565b50565b811561021c5761021c8161026f565b5050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051808201909152601b81527f576974507269636546656564734c6567616379427970617373563300000000006020820152816040516020016102b592919061036c565b60408051601f198184030181529082905262461bcd60e51b825261008a91600401610395565b6001600160a01b038116811461020a575f5ffd5b5f5f5f60608486031215610301575f5ffd5b835161030c816102db565b6020850151604086015191945092508015158114610328575f5ffd5b809150509250925092565b5f60208284031215610343575f5ffd5b815161034e816102db565b9392505050565b5f81518060208401855e5f93019283525090919050565b5f6103778285610355565b6101d160f51b815261038c6002820185610355565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a05160c05160e05161010051610120516101405161016051613ffe6104ca5f395f81816106a9015281816113da015261180a01525f818161089f01528181610bee01528181610f4701528181610ff30152818161126b01528181611310015281816114d90152818161163501528181611740015281816119070152818161198901528181611aff01528181611bfb01528181611ca201528181611d6901528181611f2f01526120d401525f61050a01525f61099001525f61147b01525f818161053a01526115c601525f50505f81816104d50152818161079f0152818161110a0152818161117b015281816111c201526111e40152613ffe5ff3fe6080604052600436106102e3575f3560e01c80638da5cb5b1161018f578063d3471e34116100db578063ef1dff2b11610094578063f78eea831161006e578063f78eea8314610a7a578063f9f34bb614610ab4578063fae91a5114610ae0578063ff24fb4f146103c3576102e3565b8063ef1dff2b14610a15578063f14cb81214610a34578063f2fde38b14610a5b576102e3565b8063d3471e3414610960578063d5f394881461097f578063d6a3614f146109b2578063e1c9e3c0146109c6578063e30c3978146109da578063eb92b29b146109ee576102e3565b8063b8d38c9611610148578063c27ef34f11610122578063c27ef34f1461088e578063c3d98ea8146108c1578063c5010d17146108ed578063cfae69291461090c576102e3565b8063b8d38c9614610810578063bff852fa1461082f578063c064d37214610874576102e3565b80638da5cb5b146107565780638df3fdfd14610772578063a9e954b914610791578063abc86c6e146107c4578063ac82c608146107d7578063b411ee94146107f1576102e3565b806354fd4d501161024e578063715018a611610207578063806d7e8f116101e1578063806d7e8f146106cb57806384292f07146106f757806386ac03e0146107165780638a416ea914610735576102e3565b8063715018a61461067057806379ba5097146106845780637b10399914610698576102e3565b806354fd4d501461056a5780635be939841461036e5780635c0d9d801461057e5780636ab221f8146105aa5780636b58960a146105db5780636d1178e5146105fa576102e3565b806346d1d21a116102a057806346d1d21a1461044357806349492ef11461046f5780634efef9c01461049b5780635001f3b5146104c757806352d1902d146104f95780635479d9401461052c576102e3565b8063029db9581461036e5780630306732e146103a057806303f3813d146103c3578063384ac938146103e45780633e088e1214610411578063439fab9114610424575b3480156102ee575f5ffd5b506102fc5f3560f81c610afa565b61030c60ff5f3560f01c16610afa565b61031c60ff5f3560e81c16610afa565b61032c60ff5f3560e01c16610afa565b60405160200161033f9493929190612a9a565b60408051601f198184030181529082905262461bcd60e51b825261036591600401612b30565b60405180910390fd5b348015610379575f5ffd5b5061038d610388366004612b57565b505f90565b6040519081526020015b60405180910390f35b3480156103ab575f5ffd5b506103b4610be6565b60405161039793929190612bcc565b3480156103ce575f5ffd5b506103e26103dd366004612d01565b610f32565b005b3480156103ef575f5ffd5b506104036103fe366004612b57565b610f41565b604051610397929190612d81565b61038d61041f366004612b57565b611026565b34801561042f575f5ffd5b506103e261043e366004612e93565b611034565b34801561044e575f5ffd5b50610457611268565b6040516001600160a01b039091168152602001610397565b34801561047a575f5ffd5b5061048e610489366004612b57565b6112ee565b6040516103979190612ed7565b3480156104a6575f5ffd5b506104ba6104b5366004612b57565b61130b565b6040516103979190612b30565b3480156104d2575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610457565b348015610504575f5ffd5b5061038d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610537575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519015158152602001610397565b348015610575575f5ffd5b506104ba611474565b348015610589575f5ffd5b5061059d610598366004612b57565b61149f565b6040516103979190612efe565b3480156105b5575f5ffd5b506105c96105c4366004612b57565b6114d5565b60405160ff9091168152602001610397565b3480156105e6575f5ffd5b5061055a6105f5366004612f50565b6115af565b348015610605575f5ffd5b5061060e611608565b60405161039791905f60a08201905060ff835116825260ff60208401511660208301526001600160401b0360408401511660408301526001600160401b0360608401511660608301526001600160401b03608084015116608083015292915050565b34801561067b575f5ffd5b506103e2611720565b34801561068f575f5ffd5b506103e2611733565b3480156106a3575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d6575f5ffd5b506106ea6106e5366004612b57565b61173b565b6040516103979190613020565b348015610702575f5ffd5b506103e2610711366004613111565b6118eb565b348015610721575f5ffd5b506103e2610730366004613158565b6118f8565b348015610740575f5ffd5b50610749611904565b6040516103979190613196565b348015610761575f5ffd5b505f546001600160a01b0316610457565b34801561077d575f5ffd5b5061038d61078c366004612b57565b611985565b34801561079c575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61038d565b61038d6107d23660046131bb565b611a49565b3480156107e2575f5ffd5b506103e26107113660046131ef565b3480156107fc575f5ffd5b5061074961080b366004612e93565b611a58565b34801561081b575f5ffd5b506103e261082a366004613250565b611a66565b34801561083a575f5ffd5b5060408051808201909152601b81527f576974507269636546656564734c65676163794279706173735633000000000060208201526104ba565b34801561087f575f5ffd5b5061038d61038836600461326b565b348015610899575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156108cc575f5ffd5b506108e06108db366004612b57565b611a71565b60405161039791906132cc565b3480156108f8575f5ffd5b5061055a610907366004613158565b611be2565b348015610917575f5ffd5b50610953610926366004612b57565b506040805160a0810182525f80825260208201819052918101829052606080820152608081019190915290565b60405161039791906132da565b34801561096b575f5ffd5b5061095361097a366004612b57565b611c71565b34801561098a575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156109bd575f5ffd5b5061038d611c9f565b3480156109d1575f5ffd5b506103e2611d28565b3480156109e5575f5ffd5b50610457611d30565b3480156109f9575f5ffd5b50610a02611d43565b60405161ffff9091168152602001610397565b348015610a20575f5ffd5b506104ba610a2f366004612b57565b611d4f565b348015610a3f575f5ffd5b50610a4e61041f366004612b57565b6040516103979190613345565b348015610a66575f5ffd5b506103e2610a75366004612f50565b611eae565b348015610a85575f5ffd5b50610a99610a9436600461326b565b611ebf565b60408051938452602084019290925290820152606001610397565b348015610abf575f5ffd5b50610ad3610ace36600461335f565b611ffa565b6040516103979190613391565b348015610aeb575f5ffd5b506103e261082a3660046133de565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610b2a601085613420565b610b35906030613441565b90505f610b4360108661345a565b610b4e906030613441565b905060398260ff161115610b6a57610b67600783613441565b91505b60398160ff161115610b8457610b81600782613441565b90505b8160f81b835f81518110610b9a57610b9a61347b565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610bc757610bc761347b565b60200101906001600160f81b03191690815f1a90535091949350505050565b60608060605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633108e1b86040518163ffffffff1660e01b81526004015f60405180830381865afa158015610c47573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c6e9190810190613890565b905080516001600160401b03811115610c8957610c89612da4565b604051908082528060200260200182016040528015610cb2578160200160208202803683370190505b50935080516001600160401b03811115610cce57610cce612da4565b604051908082528060200260200182016040528015610d0157816020015b6060815260200190600190039081610cec5790505b50925080516001600160401b03811115610d1d57610d1d612da4565b604051908082528060200260200182016040528015610d46578160200160208202803683370190505b5091505f5b8151811015610f2b575f828281518110610d6757610d6761347b565b602090810291909101810151516001600160e01b03198082165f9081525f516020613fa95f395f51905f5290935260409092205490925060e01b1615610dd4576001600160e01b031981165f9081525f516020613fa95f395f51905f52602052604090205460e01b610dd6565b805b868381518110610de857610de861347b565b60200260200101906001600160e01b03191690816001600160e01b03191681525050828281518110610e1c57610e1c61347b565b602002602001015160400151858381518110610e3a57610e3a61347b565b60209081029190910101525f838381518110610e5857610e5861347b565b6020026020010151606001515f01516004811115610e7857610e78612f6b565b14610f22575f5f1b838381518110610e9257610e9261347b565b6020026020010151608001516040015103610ee057828281518110610eb957610eb961347b565b6020026020010151608001516020015160601b6bffffffffffffffffffffffff1916610f03565b828281518110610ef257610ef261347b565b602002602001015160800151604001515b848381518110610f1557610f1561347b565b6020026020010181815250505b50600101610d4b565b5050909192565b610f3a6120cf565b5050505050565b5f60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2856040518263ffffffff1660e01b8152600401610f919190613196565b5f60405180830381865afa158015610fab573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fd2919081019061393f565b90505f6060820151516004811115610fec57610fec612f6b565b14611020577f0000000000000000000000000000000000000000000000000000000000000000925080606001516020015191505b50915091565b5f61102f6120cf565b919050565b5f546001600160a01b03168061106a57818060200190518101906110589190613970565b9250905061106581612178565b6110b2565b336001600160a01b038216146110b25760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610365565b6110bb82612191565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061112c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156111795760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f646568617368000000006044820152606401610365565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661121d5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661124f611474565b60405161125c9190612b30565b60405180910390a45050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631014d3756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e991906139bd565b905090565b604080518082019091525f8152606060208201525b61102f6120cf565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b815260040161135a9190613196565b5f60405180830381865afa158015611374573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261139b919081019061393f565b90505f60808201515160038111156113b5576113b5612f6b565b0361145557608081015160409081015190516322889dd960e21b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638a227764906024015f60405180830381865afa158015611426573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261144d91908101906139d8565b949350505050565b604080515f80825260208201909252905b509392505050565b50919050565b60606112e97f00000000000000000000000000000000000000000000000000000000000000006124dd565b61102f60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663274d45db846040518263ffffffff1660e01b81526004016115239190613196565b602060405180830381865afa15801561153e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115629190613a09565b905061159f5f825f0b1315604051806040016040528060148152602001731d5b98dbdb5c1b1a585b9d08195e1c1bdb995b9d60621b81525061257e565b6115a881613a22565b9392505050565b5f5f6115c25f546001600160a01b031690565b90507f000000000000000000000000000000000000000000000000000000000000000080156115a85750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639190795f6040518163ffffffff1660e01b815260040160c060405180830381865afa15801561168f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b39190613a3e565b60a08082015160408051928301815260ff821680845260336020850152630bebc200918401829052939450909290919060608201906116f29084613a58565b6001600160401b0316815260200161170d60ff851684613a7a565b6001600160401b03169052949350505050565b61172861258d565b6117315f612178565b565b6117316125b9565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b815260040161178a9190613196565b5f60405180830381865afa1580156117a4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117cb919081019061393f565b90505f60808201515160038111156117e5576117e5612f6b565b0361187d57608081015160409081015190516377c1125960e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906377c11259906024015f60405180830381865afa158015611856573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261144d9190810190613baa565b604080515f8082526020820190925290611466565b6118d16040805160e081019091525f808252602082019081526020015f8152602001606081526020016060815260200160608152602001606081525090565b815260200190600190039081611892579050509392505050565b6118f36120cf565b505050565b6119006120cf565b5050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638a416ea96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611961573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e99190613d40565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b81526004016119d39190613196565b5f60405180830381865afa1580156119ed573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a14919081019061393f565b90505f6080820151516003811115611a2e57611a2e612f6b565b03611a4157608001516040015192915050565b505f92915050565b5f611a526120cf565b92915050565b805160208201205f90611a52565b611a6e6120cf565b50565b611a98604080516080810182525f8082526020820181905291810182905290606082015290565b6001600160e01b03198281165f9081525f516020613f895f395f51905f526020526040812054909160e09190911b16611ad15782611afa565b6001600160e01b031983165f9081525f516020613f895f395f51905f52602052604090205460e01b5b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397445409836040518263ffffffff1660e01b8152600401611b499190613196565b60a060405180830381865afa158015611b64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b889190613d5b565b9050604051806080016040528082602001516001600160401b0316815260200182606001516001600160401b031681526020018260800151815260200160026003811115611bd857611bd8612f6b565b9052949350505050565b60405163c5010d1760e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5010d1790611c329086908690600401613d75565b602060405180830381865afa158015611c4d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a89190613da3565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152611303565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633108e1b86040518163ffffffff1660e01b81526004015f60405180830381865afa158015611cfb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d229190810190613890565b51905090565b6117316120cf565b5f6112e96001546001600160a01b031690565b5f611d4c6120cf565b90565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890611d9e908590600401613196565b5f60405180830381865afa158015611db8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ddf91908101906139d8565b905080515f0361102f576001600160e01b031982165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602052604090208054611e2b90613dbc565b80601f0160208091040260200160405190810160405280929190818152602001828054611e5790613dbc565b8015611ea25780601f10611e7957610100808354040283529160200191611ea2565b820191905f5260205f20905b815481529060010190602001808311611e8557829003601f168201915b50505050509050919050565b611eb661258d565b611a6e81612634565b5f80808381805f516020613fa95f395f51905f526001600160e01b03198085165f90815260019290920160205260409091205460e01b1603611f015781611f2a565b6001600160e01b031982165f9081525f516020613f895f395f51905f52602052604090205460e01b5b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397445409836040518263ffffffff1660e01b8152600401611f799190613196565b60a060405180830381865afa158015611f94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb89190613d5b565b606081015160208201519192506001600160401b03169060070b818015611fe05760c8611fe4565b6101945b919850965061ffff169450505050509193909250565b6060816001600160401b0381111561201457612014612da4565b60405190808252806020026020018201604052801561206c57816020015b612059604080516080810182525f8082526020820181905291810182905290606082015290565b8152602001906001900390816120325790505b5090505f5b828110156120c8576120a384848381811061208e5761208e61347b565b90506020020160208101906108db9190612b57565b8282815181106120b5576120b561347b565b6020908102919091010152600101612071565b5092915050565b6117317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bff852fa6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215491908101906139d8565b6040516020016121649190613dee565b604051602081830303815290604052612665565b600180546001600160a01b0319169055611a6e816126ab565b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200545f5b818110156118f3575f7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff60010182815481106121f3576121f361347b565b5f9182526020822060088204015460079091166004026101000a900460e01b915061223b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff90565b6001600160e01b031983165f90815260029190910160205260409020805461226290613dbc565b80601f016020809104026020016040519081016040528092919081815260200182805461228e90613dbc565b80156122d95780601f106122b0576101008083540402835291602001916122d9565b820191905f5260205f20905b8154815290600101906020018083116122bc57829003601f168201915b505050505090505f612311826040805180820182525f8082526020918201528151808301909252825182529182019181019190915290565b60408051808201825260018152602d60f81b6020808301918252835180850185525f8082529082018190528451808601909552925184528301529192509061235983836126fa565b612364906001613e0e565b6001600160401b0381111561237b5761237b612da4565b6040519080825280602002602001820160405280156123ae57816020015b60608152602001906001900390816123995790505b5090505f5b81518110156123f3576123ce6123c9858561278e565b6127ac565b8282815181106123e0576123e061347b565b60209081029190910101526001016123b3565b5060408051808201909152600781526621b93cb83a379760c91b602082015260015b825181101561246457818382815181106124315761243161347b565b602002602001015160405160200161244a929190613e21565b60408051601f198184030181529190529150600101612415565b5080516020918201206001600160e01b03198082165f9081525f516020613fa95f395f51905f5284526040808220805460e08c811c63ffffffff199283161790925593909a1682525f516020613f895f395f51905f529094529290922080549190971c91161790945550505060019190910190506121b5565b60605f6124e983612810565b6001600160401b0381111561250057612500612da4565b6040519080825280601f01601f19166020018201604052801561252a576020820181803683370190505b5090505f5b81518110156120c85783816020811061254a5761254a61347b565b1a60f81b8282815181106125605761256061347b565b60200101906001600160f81b03191690815f1a90535060010161252f565b81156119005761190081612665565b5f546001600160a01b031633146117315760405163118cdaa760e01b8152336004820152602401610365565b33806125c3611d30565b6001600160a01b03161461262b5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610365565b611a6e81612178565b61263c61258d565b6001600160a01b03811661262b57604051631e4fbdf760e01b81525f6004820152602401610365565b60408051808201909152601b81527f576974507269636546656564734c65676163794279706173735633000000000060208201528160405160200161033f929190613e2f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f825f015161271a855f01518660200151865f01518760200151612848565b6127249190613e0e565b90505b835160208501516127389190613e0e565b81116120c8578161274881613e58565b925050825f015161277d8560200151836127629190613e70565b865161276e9190613e70565b83865f01518760200151612848565b6127879190613e0e565b9050612727565b604080518082019091525f80825260208201526120c8838383612964565b60605f825f01516001600160401b038111156127ca576127ca612da4565b6040519080825280601f01601f1916602001820160405280156127f4576020820181803683370190505b5090505f6020820190506120c8818560200151865f0151612a0a565b5f5b602081101561102f5781816020811061282d5761282d61347b565b1a60f81b6001600160f81b0319161561102f57600101612812565b5f838186851161294f57602085116128ff575f851561289257600161286e876020613e70565b612879906008613e83565b612884906002613f7d565b61288e9190613e70565b1990505b845181165f876128a28b8b613e0e565b6128ac9190613e70565b855190915083165b8281146128f1578186106128d9576128cc8b8b613e0e565b965050505050505061144d565b856128e381613e58565b9650508386511690506128b4565b85965050505050505061144d565b508383205f905b6129108689613e70565b821161294d5785832080820361292c578394505050505061144d565b612937600185613e0e565b935050818061294590613e58565b925050612906565b505b6129598787613e0e565b979650505050505050565b604080518082019091525f80825260208201525f612992855f01518660200151865f01518760200151612848565b6020808701805191860191909152519091506129ae9082613e70565b8352845160208601516129c19190613e0e565b81036129cf575f8552612a01565b835183516129dd9190613e0e565b855186906129ec908390613e70565b90525083516129fb9082613e0e565b60208601525b50909392505050565b60208110612a425781518352612a21602084613e0e565b9250612a2e602083613e0e565b9150612a3b602082613e70565b9050612a0a565b5f198115612a70576001612a57836020613e70565b612a6390610100613f7d565b612a6d9190613e70565b90505b9151835183169219169190911790915250565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f612af8612af2612aec612ae6602986018a612a83565b88612a83565b86612a83565b84612a83565b9695505050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6115a86020830184612b02565b6001600160e01b031981168114611a6e575f5ffd5b5f60208284031215612b67575f5ffd5b81356115a881612b42565b5f82825180855260208501945060208160051b830101602085015f5b83811015612bc057601f19858403018852612baa838351612b02565b6020988901989093509190910190600101612b8e565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b81811015612c0f5783516001600160e01b031916835260209384019390920191600101612be7565b50508381036020850152612c238187612b72565b848103604086015285518082526020808801945090910191505f5b81811015612c5c578351835260209384019390920191600101612c3e565b5090979650505050505050565b5f5f83601f840112612c79575f5ffd5b5081356001600160401b03811115612c8f575f5ffd5b602083019150836020828501011115612ca6575f5ffd5b9250929050565b6001600160a01b0381168114611a6e575f5ffd5b5f5f83601f840112612cd1575f5ffd5b5081356001600160401b03811115612ce7575f5ffd5b6020830191508360208260051b8501011115612ca6575f5ffd5b5f5f5f5f5f60608688031215612d15575f5ffd5b85356001600160401b03811115612d2a575f5ffd5b612d3688828901612c69565b9096509450506020860135612d4a81612cad565b925060408601356001600160401b03811115612d64575f5ffd5b612d7088828901612cc1565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190525f9061144d90830184612b72565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612dda57612dda612da4565b60405290565b60405160e081016001600160401b0381118282101715612dda57612dda612da4565b604051601f8201601f191681016001600160401b0381118282101715612e2a57612e2a612da4565b604052919050565b5f6001600160401b03821115612e4a57612e4a612da4565b50601f01601f191660200190565b5f612e6a612e6584612e32565b612e02565b9050828152838383011115612e7d575f5ffd5b828260208301375f602084830101529392505050565b5f60208284031215612ea3575f5ffd5b81356001600160401b03811115612eb8575f5ffd5b8201601f81018413612ec8575f5ffd5b61144d84823560208401612e58565b6020815260ff82511660208201525f602083015160408084015261144d6060840182612b02565b6020815260018060a01b03825116602082015262ffffff60208301511660408201525f604083015160806060840152612f3a60a0840182612b02565b9050606084015160808401528091505092915050565b5f60208284031215612f60575f5ffd5b81356115a881612cad565b634e487b7160e01b5f52602160045260245ffd5b60058110612f8f57612f8f612f6b565b9052565b60148110612f8f57612f8f612f6b565b5f82825180855260208501945060208160051b830101602085015f5b83811015612bc057848303601f19018852815183604081015f5b6002811015613007578682038352612ff2828551612b02565b60209485019493909301929150600101612fd9565b5060209a8b019a90955093909301925050600101612fbf565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561310557603f19878603018452815160ff815116865260208101516130726020880182612f7f565b5060408101516130856040880182612f93565b50606081015160e0606088015261309f60e0880182612b02565b9050608082015187820360808901526130b88282612b02565b91505060a082015187820360a08901526130d28282612fa3565b91505060c0820151915086810360c08801526130ee8183612b02565b965050506020938401939190910190600101613046565b50929695505050505050565b5f5f5f60408486031215613123575f5ffd5b83356001600160401b03811115613138575f5ffd5b61314486828701612c69565b909790965060209590950135949350505050565b5f5f60208385031215613169575f5ffd5b82356001600160401b0381111561317e575f5ffd5b61318a85828601612c69565b90969095509350505050565b6001600160e01b031991909116815260200190565b5f6040828403121561146e575f5ffd5b5f5f606083850312156131cc575f5ffd5b82356131d781612b42565b91506131e684602085016131ab565b90509250929050565b5f5f5f60408486031215613201575f5ffd5b83356001600160401b03811115613216575f5ffd5b61322286828701612c69565b909450925050602084013561323681612cad565b809150509250925092565b61ffff81168114611a6e575f5ffd5b5f60208284031215613260575f5ffd5b81356115a881613241565b5f6020828403121561327b575f5ffd5b5035919050565b6001600160401b0381511682526001600160401b036020820151166020830152604081015160408301526060810151600481106132c1576132c1612f6b565b806060840152505050565b60808101611a528284613282565b6020815260018060a01b0382511660208201526001600160401b036020830151166040820152604082015160608201525f606083015160a0608084015261332460c0840182612b02565b608094909401516001600160a01b031660a093909301929092525090919050565b602081016007831061335957613359612f6b565b91905290565b5f5f60208385031215613370575f5ffd5b82356001600160401b03811115613385575f5ffd5b61318a85828601612cc1565b602080825282518282018190525f918401906040840190835b818110156133d3576133bd838551613282565b60209390930192608092909201916001016133aa565b509095945050505050565b5f604082840312156133ee575f5ffd5b6115a883836131ab565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680613432576134326133f8565b8060ff84160491505092915050565b60ff8181168382160190811115611a5257611a5261340c565b5f60ff83168061346c5761346c6133f8565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6001600160401b038211156134a7576134a7612da4565b5060051b60200190565b80515f81900b811461102f575f5ffd5b5f82601f8301126134d0575f5ffd5b8151602083015f6134e3612e6584612e32565b90508281528583830111156134f6575f5ffd5b8282602083015e5f92810160200192909252509392505050565b60058110611a6e575f5ffd5b805161102f81613510565b5f60408284031215613537575f5ffd5b61353f612db8565b9050815161354c81613510565b815260208201516001600160401b03811115613566575f5ffd5b8201601f81018413613576575f5ffd5b8051613584612e658261348f565b8082825260208201915060208360051b8501019250868311156135a5575f5ffd5b602084015b838110156135e55780516001600160401b038111156135c7575f5ffd5b6135d6896020838901016134c1565b845250602092830192016135aa565b5060208501525091949350505050565b5f60608284031215613605575f5ffd5b604051606081016001600160401b038111828210171561362757613627612da4565b806040525080915082516004811061363d575f5ffd5b8152602083015161364d81612cad565b6020820152604092830151920191909152919050565b805162ffffff8116811461102f575f5ffd5b8051801515811461102f575f5ffd5b5f60c08284031215613694575f5ffd5b60405160c081016001600160401b03811182821017156136b6576136b6612da4565b6040529050806136c583613663565b81526136d360208401613675565b60208201526136e460408401613663565b60408201526136f560608401613663565b6060820152608083015161370881613241565b608082015260a083015161371b81613241565b60a0919091015292915050565b6001600160401b0381168114611a6e575f5ffd5b5f60a0828403121561374c575f5ffd5b60405160a081016001600160401b038111828210171561376e5761376e612da4565b60405290508061377d836134b1565b8152602083015161378d81613728565b60208201526040830151600681900b81146137a6575f5ffd5b604082015260608301516137b981613728565b6060820152608092830151920191909152919050565b5f61024082840312156137e0575f5ffd5b6137e8612de0565b8251815290506137fa602083016134b1565b602082015260408201516001600160401b03811115613817575f5ffd5b613823848285016134c1565b60408301525060608201516001600160401b03811115613841575f5ffd5b61384d84828501613527565b60608301525061386083608084016135f5565b60808201526138728360e08401613684565b60a0820152613885836101a0840161373c565b60c082015292915050565b5f602082840312156138a0575f5ffd5b81516001600160401b038111156138b5575f5ffd5b8201601f810184136138c5575f5ffd5b80516138d3612e658261348f565b8082825260208201915060208360051b8501019250868311156138f4575f5ffd5b602084015b838110156139345780516001600160401b03811115613916575f5ffd5b613925896020838901016137cf565b845250602092830192016138f9565b509695505050505050565b5f6020828403121561394f575f5ffd5b81516001600160401b03811115613964575f5ffd5b61144d848285016137cf565b5f5f60408385031215613981575f5ffd5b825161398c81612cad565b60208401519092506001600160401b038111156139a7575f5ffd5b6139b3858286016134c1565b9150509250929050565b5f602082840312156139cd575f5ffd5b81516115a881612cad565b5f602082840312156139e8575f5ffd5b81516001600160401b038111156139fd575f5ffd5b61144d848285016134c1565b5f60208284031215613a19575f5ffd5b6115a8826134b1565b5f81810b60808101613a3657613a3661340c565b5f0392915050565b5f60c08284031215613a4e575f5ffd5b6115a88383613684565b6001600160401b0381811683821602908116908181146120c8576120c861340c565b5f6001600160401b03831680613a9257613a926133f8565b806001600160401b0384160491505092915050565b805160ff8116811461102f575f5ffd5b80516014811061102f575f5ffd5b5f82601f830112613ad4575f5ffd5b8151613ae2612e658261348f565b8082825260208201915060208360051b860101925085831115613b03575f5ffd5b602085015b83811015613ba05780516001600160401b03811115613b25575f5ffd5b8601603f81018813613b35575f5ffd5b613b3d612db8565b80606083018a811115613b4e575f5ffd5b602084015b81811015613b8e5780516001600160401b03811115613b70575f5ffd5b613b7f8d6020838901016134c1565b85525060209384019301613b53565b50508552505060209283019201613b08565b5095945050505050565b5f60208284031215613bba575f5ffd5b81516001600160401b03811115613bcf575f5ffd5b8201601f81018413613bdf575f5ffd5b8051613bed612e658261348f565b8082825260208201915060208360051b850101925086831115613c0e575f5ffd5b602084015b838110156139345780516001600160401b03811115613c30575f5ffd5b850160e0818a03601f19011215613c45575f5ffd5b613c4d612de0565b613c5960208301613aa7565b8152613c676040830161351c565b6020820152613c7860608301613ab7565b604082015260808201516001600160401b03811115613c95575f5ffd5b613ca48b6020838601016134c1565b60608301525060a08201516001600160401b03811115613cc2575f5ffd5b613cd18b6020838601016134c1565b60808301525060c08201516001600160401b03811115613cef575f5ffd5b613cfe8b602083860101613ac5565b60a08301525060e08201516001600160401b03811115613d1c575f5ffd5b613d2b8b6020838601016134c1565b60c08301525084525060209283019201613c13565b5f60208284031215613d50575f5ffd5b81516115a881612b42565b5f60a08284031215613d6b575f5ffd5b6115a8838361373c565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b5f60208284031215613db3575f5ffd5b6115a882613675565b600181811c90821680613dd057607f821691505b60208210810361146e57634e487b7160e01b5f52602260045260245ffd5b6b0313cb830b9b9b2b2103a37960a51b81525f6115a8600c830184612a83565b80820180821115611a5257611a5261340c565b5f61144d612af28386612a83565b5f613e3a8285612a83565b6101d160f51b8152613e4f6002820185612a83565b95945050505050565b5f60018201613e6957613e6961340c565b5060010190565b81810381811115611a5257611a5261340c565b8082028115828204841417611a5257611a5261340c565b6001815b6001841115613ed557808504811115613eb957613eb961340c565b6001841615613ec757908102905b60019390931c928002613e9e565b935093915050565b5f82613eeb57506001611a52565b81613ef757505f611a52565b8160018114613f0d5760028114613f1757613f33565b6001915050611a52565b60ff841115613f2857613f2861340c565b50506001821b611a52565b5060208310610133831016604e8410600b8410161715613f56575081810a611a52565b613f625f198484613e9a565b805f1904821115613f7557613f7561340c565b029392505050565b5f6115a88383613edd56fec5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53901c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900a26469706673582212207c238b27b113ddbe89f11bb372e10de6bbf1c80123d4c29af33a7772e962b0f764736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436106102e3575f3560e01c80638da5cb5b1161018f578063d3471e34116100db578063ef1dff2b11610094578063f78eea831161006e578063f78eea8314610a7a578063f9f34bb614610ab4578063fae91a5114610ae0578063ff24fb4f146103c3576102e3565b8063ef1dff2b14610a15578063f14cb81214610a34578063f2fde38b14610a5b576102e3565b8063d3471e3414610960578063d5f394881461097f578063d6a3614f146109b2578063e1c9e3c0146109c6578063e30c3978146109da578063eb92b29b146109ee576102e3565b8063b8d38c9611610148578063c27ef34f11610122578063c27ef34f1461088e578063c3d98ea8146108c1578063c5010d17146108ed578063cfae69291461090c576102e3565b8063b8d38c9614610810578063bff852fa1461082f578063c064d37214610874576102e3565b80638da5cb5b146107565780638df3fdfd14610772578063a9e954b914610791578063abc86c6e146107c4578063ac82c608146107d7578063b411ee94146107f1576102e3565b806354fd4d501161024e578063715018a611610207578063806d7e8f116101e1578063806d7e8f146106cb57806384292f07146106f757806386ac03e0146107165780638a416ea914610735576102e3565b8063715018a61461067057806379ba5097146106845780637b10399914610698576102e3565b806354fd4d501461056a5780635be939841461036e5780635c0d9d801461057e5780636ab221f8146105aa5780636b58960a146105db5780636d1178e5146105fa576102e3565b806346d1d21a116102a057806346d1d21a1461044357806349492ef11461046f5780634efef9c01461049b5780635001f3b5146104c757806352d1902d146104f95780635479d9401461052c576102e3565b8063029db9581461036e5780630306732e146103a057806303f3813d146103c3578063384ac938146103e45780633e088e1214610411578063439fab9114610424575b3480156102ee575f5ffd5b506102fc5f3560f81c610afa565b61030c60ff5f3560f01c16610afa565b61031c60ff5f3560e81c16610afa565b61032c60ff5f3560e01c16610afa565b60405160200161033f9493929190612a9a565b60408051601f198184030181529082905262461bcd60e51b825261036591600401612b30565b60405180910390fd5b348015610379575f5ffd5b5061038d610388366004612b57565b505f90565b6040519081526020015b60405180910390f35b3480156103ab575f5ffd5b506103b4610be6565b60405161039793929190612bcc565b3480156103ce575f5ffd5b506103e26103dd366004612d01565b610f32565b005b3480156103ef575f5ffd5b506104036103fe366004612b57565b610f41565b604051610397929190612d81565b61038d61041f366004612b57565b611026565b34801561042f575f5ffd5b506103e261043e366004612e93565b611034565b34801561044e575f5ffd5b50610457611268565b6040516001600160a01b039091168152602001610397565b34801561047a575f5ffd5b5061048e610489366004612b57565b6112ee565b6040516103979190612ed7565b3480156104a6575f5ffd5b506104ba6104b5366004612b57565b61130b565b6040516103979190612b30565b3480156104d2575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610457565b348015610504575f5ffd5b5061038d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610537575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519015158152602001610397565b348015610575575f5ffd5b506104ba611474565b348015610589575f5ffd5b5061059d610598366004612b57565b61149f565b6040516103979190612efe565b3480156105b5575f5ffd5b506105c96105c4366004612b57565b6114d5565b60405160ff9091168152602001610397565b3480156105e6575f5ffd5b5061055a6105f5366004612f50565b6115af565b348015610605575f5ffd5b5061060e611608565b60405161039791905f60a08201905060ff835116825260ff60208401511660208301526001600160401b0360408401511660408301526001600160401b0360608401511660608301526001600160401b03608084015116608083015292915050565b34801561067b575f5ffd5b506103e2611720565b34801561068f575f5ffd5b506103e2611733565b3480156106a3575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d6575f5ffd5b506106ea6106e5366004612b57565b61173b565b6040516103979190613020565b348015610702575f5ffd5b506103e2610711366004613111565b6118eb565b348015610721575f5ffd5b506103e2610730366004613158565b6118f8565b348015610740575f5ffd5b50610749611904565b6040516103979190613196565b348015610761575f5ffd5b505f546001600160a01b0316610457565b34801561077d575f5ffd5b5061038d61078c366004612b57565b611985565b34801561079c575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61038d565b61038d6107d23660046131bb565b611a49565b3480156107e2575f5ffd5b506103e26107113660046131ef565b3480156107fc575f5ffd5b5061074961080b366004612e93565b611a58565b34801561081b575f5ffd5b506103e261082a366004613250565b611a66565b34801561083a575f5ffd5b5060408051808201909152601b81527f576974507269636546656564734c65676163794279706173735633000000000060208201526104ba565b34801561087f575f5ffd5b5061038d61038836600461326b565b348015610899575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156108cc575f5ffd5b506108e06108db366004612b57565b611a71565b60405161039791906132cc565b3480156108f8575f5ffd5b5061055a610907366004613158565b611be2565b348015610917575f5ffd5b50610953610926366004612b57565b506040805160a0810182525f80825260208201819052918101829052606080820152608081019190915290565b60405161039791906132da565b34801561096b575f5ffd5b5061095361097a366004612b57565b611c71565b34801561098a575f5ffd5b506104577f000000000000000000000000000000000000000000000000000000000000000081565b3480156109bd575f5ffd5b5061038d611c9f565b3480156109d1575f5ffd5b506103e2611d28565b3480156109e5575f5ffd5b50610457611d30565b3480156109f9575f5ffd5b50610a02611d43565b60405161ffff9091168152602001610397565b348015610a20575f5ffd5b506104ba610a2f366004612b57565b611d4f565b348015610a3f575f5ffd5b50610a4e61041f366004612b57565b6040516103979190613345565b348015610a66575f5ffd5b506103e2610a75366004612f50565b611eae565b348015610a85575f5ffd5b50610a99610a9436600461326b565b611ebf565b60408051938452602084019290925290820152606001610397565b348015610abf575f5ffd5b50610ad3610ace36600461335f565b611ffa565b6040516103979190613391565b348015610aeb575f5ffd5b506103e261082a3660046133de565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610b2a601085613420565b610b35906030613441565b90505f610b4360108661345a565b610b4e906030613441565b905060398260ff161115610b6a57610b67600783613441565b91505b60398160ff161115610b8457610b81600782613441565b90505b8160f81b835f81518110610b9a57610b9a61347b565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610bc757610bc761347b565b60200101906001600160f81b03191690815f1a90535091949350505050565b60608060605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633108e1b86040518163ffffffff1660e01b81526004015f60405180830381865afa158015610c47573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c6e9190810190613890565b905080516001600160401b03811115610c8957610c89612da4565b604051908082528060200260200182016040528015610cb2578160200160208202803683370190505b50935080516001600160401b03811115610cce57610cce612da4565b604051908082528060200260200182016040528015610d0157816020015b6060815260200190600190039081610cec5790505b50925080516001600160401b03811115610d1d57610d1d612da4565b604051908082528060200260200182016040528015610d46578160200160208202803683370190505b5091505f5b8151811015610f2b575f828281518110610d6757610d6761347b565b602090810291909101810151516001600160e01b03198082165f9081525f516020613fa95f395f51905f5290935260409092205490925060e01b1615610dd4576001600160e01b031981165f9081525f516020613fa95f395f51905f52602052604090205460e01b610dd6565b805b868381518110610de857610de861347b565b60200260200101906001600160e01b03191690816001600160e01b03191681525050828281518110610e1c57610e1c61347b565b602002602001015160400151858381518110610e3a57610e3a61347b565b60209081029190910101525f838381518110610e5857610e5861347b565b6020026020010151606001515f01516004811115610e7857610e78612f6b565b14610f22575f5f1b838381518110610e9257610e9261347b565b6020026020010151608001516040015103610ee057828281518110610eb957610eb961347b565b6020026020010151608001516020015160601b6bffffffffffffffffffffffff1916610f03565b828281518110610ef257610ef261347b565b602002602001015160800151604001515b848381518110610f1557610f1561347b565b6020026020010181815250505b50600101610d4b565b5050909192565b610f3a6120cf565b5050505050565b5f60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2856040518263ffffffff1660e01b8152600401610f919190613196565b5f60405180830381865afa158015610fab573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fd2919081019061393f565b90505f6060820151516004811115610fec57610fec612f6b565b14611020577f0000000000000000000000000000000000000000000000000000000000000000925080606001516020015191505b50915091565b5f61102f6120cf565b919050565b5f546001600160a01b03168061106a57818060200190518101906110589190613970565b9250905061106581612178565b6110b2565b336001600160a01b038216146110b25760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610365565b6110bb82612191565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061112c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156111795760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f646568617368000000006044820152606401610365565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661121d5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661124f611474565b60405161125c9190612b30565b60405180910390a45050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631014d3756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e991906139bd565b905090565b604080518082019091525f8152606060208201525b61102f6120cf565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b815260040161135a9190613196565b5f60405180830381865afa158015611374573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261139b919081019061393f565b90505f60808201515160038111156113b5576113b5612f6b565b0361145557608081015160409081015190516322889dd960e21b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638a227764906024015f60405180830381865afa158015611426573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261144d91908101906139d8565b949350505050565b604080515f80825260208201909252905b509392505050565b50919050565b60606112e97f00000000000000000000000000000000000000000000000000000000000000006124dd565b61102f60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663274d45db846040518263ffffffff1660e01b81526004016115239190613196565b602060405180830381865afa15801561153e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115629190613a09565b905061159f5f825f0b1315604051806040016040528060148152602001731d5b98dbdb5c1b1a585b9d08195e1c1bdb995b9d60621b81525061257e565b6115a881613a22565b9392505050565b5f5f6115c25f546001600160a01b031690565b90507f000000000000000000000000000000000000000000000000000000000000000080156115a85750826001600160a01b0316816001600160a01b0316149392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639190795f6040518163ffffffff1660e01b815260040160c060405180830381865afa15801561168f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b39190613a3e565b60a08082015160408051928301815260ff821680845260336020850152630bebc200918401829052939450909290919060608201906116f29084613a58565b6001600160401b0316815260200161170d60ff851684613a7a565b6001600160401b03169052949350505050565b61172861258d565b6117315f612178565b565b6117316125b9565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b815260040161178a9190613196565b5f60405180830381865afa1580156117a4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117cb919081019061393f565b90505f60808201515160038111156117e5576117e5612f6b565b0361187d57608081015160409081015190516377c1125960e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906377c11259906024015f60405180830381865afa158015611856573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261144d9190810190613baa565b604080515f8082526020820190925290611466565b6118d16040805160e081019091525f808252602082019081526020015f8152602001606081526020016060815260200160608152602001606081525090565b815260200190600190039081611892579050509392505050565b6118f36120cf565b505050565b6119006120cf565b5050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638a416ea96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611961573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e99190613d40565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630683bcd2846040518263ffffffff1660e01b81526004016119d39190613196565b5f60405180830381865afa1580156119ed573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a14919081019061393f565b90505f6080820151516003811115611a2e57611a2e612f6b565b03611a4157608001516040015192915050565b505f92915050565b5f611a526120cf565b92915050565b805160208201205f90611a52565b611a6e6120cf565b50565b611a98604080516080810182525f8082526020820181905291810182905290606082015290565b6001600160e01b03198281165f9081525f516020613f895f395f51905f526020526040812054909160e09190911b16611ad15782611afa565b6001600160e01b031983165f9081525f516020613f895f395f51905f52602052604090205460e01b5b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397445409836040518263ffffffff1660e01b8152600401611b499190613196565b60a060405180830381865afa158015611b64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b889190613d5b565b9050604051806080016040528082602001516001600160401b0316815260200182606001516001600160401b031681526020018260800151815260200160026003811115611bd857611bd8612f6b565b9052949350505050565b60405163c5010d1760e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5010d1790611c329086908690600401613d75565b602060405180830381865afa158015611c4d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a89190613da3565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152611303565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633108e1b86040518163ffffffff1660e01b81526004015f60405180830381865afa158015611cfb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d229190810190613890565b51905090565b6117316120cf565b5f6112e96001546001600160a01b031690565b5f611d4c6120cf565b90565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890611d9e908590600401613196565b5f60405180830381865afa158015611db8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ddf91908101906139d8565b905080515f0361102f576001600160e01b031982165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d201602052604090208054611e2b90613dbc565b80601f0160208091040260200160405190810160405280929190818152602001828054611e5790613dbc565b8015611ea25780601f10611e7957610100808354040283529160200191611ea2565b820191905f5260205f20905b815481529060010190602001808311611e8557829003601f168201915b50505050509050919050565b611eb661258d565b611a6e81612634565b5f80808381805f516020613fa95f395f51905f526001600160e01b03198085165f90815260019290920160205260409091205460e01b1603611f015781611f2a565b6001600160e01b031982165f9081525f516020613f895f395f51905f52602052604090205460e01b5b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397445409836040518263ffffffff1660e01b8152600401611f799190613196565b60a060405180830381865afa158015611f94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb89190613d5b565b606081015160208201519192506001600160401b03169060070b818015611fe05760c8611fe4565b6101945b919850965061ffff169450505050509193909250565b6060816001600160401b0381111561201457612014612da4565b60405190808252806020026020018201604052801561206c57816020015b612059604080516080810182525f8082526020820181905291810182905290606082015290565b8152602001906001900390816120325790505b5090505f5b828110156120c8576120a384848381811061208e5761208e61347b565b90506020020160208101906108db9190612b57565b8282815181106120b5576120b561347b565b6020908102919091010152600101612071565b5092915050565b6117317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bff852fa6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215491908101906139d8565b6040516020016121649190613dee565b604051602081830303815290604052612665565b600180546001600160a01b0319169055611a6e816126ab565b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200545f5b818110156118f3575f7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff60010182815481106121f3576121f361347b565b5f9182526020822060088204015460079091166004026101000a900460e01b915061223b7fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff90565b6001600160e01b031983165f90815260029190910160205260409020805461226290613dbc565b80601f016020809104026020016040519081016040528092919081815260200182805461228e90613dbc565b80156122d95780601f106122b0576101008083540402835291602001916122d9565b820191905f5260205f20905b8154815290600101906020018083116122bc57829003601f168201915b505050505090505f612311826040805180820182525f8082526020918201528151808301909252825182529182019181019190915290565b60408051808201825260018152602d60f81b6020808301918252835180850185525f8082529082018190528451808601909552925184528301529192509061235983836126fa565b612364906001613e0e565b6001600160401b0381111561237b5761237b612da4565b6040519080825280602002602001820160405280156123ae57816020015b60608152602001906001900390816123995790505b5090505f5b81518110156123f3576123ce6123c9858561278e565b6127ac565b8282815181106123e0576123e061347b565b60209081029190910101526001016123b3565b5060408051808201909152600781526621b93cb83a379760c91b602082015260015b825181101561246457818382815181106124315761243161347b565b602002602001015160405160200161244a929190613e21565b60408051601f198184030181529190529150600101612415565b5080516020918201206001600160e01b03198082165f9081525f516020613fa95f395f51905f5284526040808220805460e08c811c63ffffffff199283161790925593909a1682525f516020613f895f395f51905f529094529290922080549190971c91161790945550505060019190910190506121b5565b60605f6124e983612810565b6001600160401b0381111561250057612500612da4565b6040519080825280601f01601f19166020018201604052801561252a576020820181803683370190505b5090505f5b81518110156120c85783816020811061254a5761254a61347b565b1a60f81b8282815181106125605761256061347b565b60200101906001600160f81b03191690815f1a90535060010161252f565b81156119005761190081612665565b5f546001600160a01b031633146117315760405163118cdaa760e01b8152336004820152602401610365565b33806125c3611d30565b6001600160a01b03161461262b5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610365565b611a6e81612178565b61263c61258d565b6001600160a01b03811661262b57604051631e4fbdf760e01b81525f6004820152602401610365565b60408051808201909152601b81527f576974507269636546656564734c65676163794279706173735633000000000060208201528160405160200161033f929190613e2f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f825f015161271a855f01518660200151865f01518760200151612848565b6127249190613e0e565b90505b835160208501516127389190613e0e565b81116120c8578161274881613e58565b925050825f015161277d8560200151836127629190613e70565b865161276e9190613e70565b83865f01518760200151612848565b6127879190613e0e565b9050612727565b604080518082019091525f80825260208201526120c8838383612964565b60605f825f01516001600160401b038111156127ca576127ca612da4565b6040519080825280601f01601f1916602001820160405280156127f4576020820181803683370190505b5090505f6020820190506120c8818560200151865f0151612a0a565b5f5b602081101561102f5781816020811061282d5761282d61347b565b1a60f81b6001600160f81b0319161561102f57600101612812565b5f838186851161294f57602085116128ff575f851561289257600161286e876020613e70565b612879906008613e83565b612884906002613f7d565b61288e9190613e70565b1990505b845181165f876128a28b8b613e0e565b6128ac9190613e70565b855190915083165b8281146128f1578186106128d9576128cc8b8b613e0e565b965050505050505061144d565b856128e381613e58565b9650508386511690506128b4565b85965050505050505061144d565b508383205f905b6129108689613e70565b821161294d5785832080820361292c578394505050505061144d565b612937600185613e0e565b935050818061294590613e58565b925050612906565b505b6129598787613e0e565b979650505050505050565b604080518082019091525f80825260208201525f612992855f01518660200151865f01518760200151612848565b6020808701805191860191909152519091506129ae9082613e70565b8352845160208601516129c19190613e0e565b81036129cf575f8552612a01565b835183516129dd9190613e0e565b855186906129ec908390613e70565b90525083516129fb9082613e0e565b60208601525b50909392505050565b60208110612a425781518352612a21602084613e0e565b9250612a2e602083613e0e565b9150612a3b602082613e70565b9050612a0a565b5f198115612a70576001612a57836020613e70565b612a6390610100613f7d565b612a6d9190613e70565b90505b9151835183169219169190911790915250565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f612af8612af2612aec612ae6602986018a612a83565b88612a83565b86612a83565b84612a83565b9695505050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6115a86020830184612b02565b6001600160e01b031981168114611a6e575f5ffd5b5f60208284031215612b67575f5ffd5b81356115a881612b42565b5f82825180855260208501945060208160051b830101602085015f5b83811015612bc057601f19858403018852612baa838351612b02565b6020988901989093509190910190600101612b8e565b50909695505050505050565b606080825284519082018190525f9060208601906080840190835b81811015612c0f5783516001600160e01b031916835260209384019390920191600101612be7565b50508381036020850152612c238187612b72565b848103604086015285518082526020808801945090910191505f5b81811015612c5c578351835260209384019390920191600101612c3e565b5090979650505050505050565b5f5f83601f840112612c79575f5ffd5b5081356001600160401b03811115612c8f575f5ffd5b602083019150836020828501011115612ca6575f5ffd5b9250929050565b6001600160a01b0381168114611a6e575f5ffd5b5f5f83601f840112612cd1575f5ffd5b5081356001600160401b03811115612ce7575f5ffd5b6020830191508360208260051b8501011115612ca6575f5ffd5b5f5f5f5f5f60608688031215612d15575f5ffd5b85356001600160401b03811115612d2a575f5ffd5b612d3688828901612c69565b9096509450506020860135612d4a81612cad565b925060408601356001600160401b03811115612d64575f5ffd5b612d7088828901612cc1565b969995985093965092949392505050565b6001600160a01b03831681526040602082018190525f9061144d90830184612b72565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715612dda57612dda612da4565b60405290565b60405160e081016001600160401b0381118282101715612dda57612dda612da4565b604051601f8201601f191681016001600160401b0381118282101715612e2a57612e2a612da4565b604052919050565b5f6001600160401b03821115612e4a57612e4a612da4565b50601f01601f191660200190565b5f612e6a612e6584612e32565b612e02565b9050828152838383011115612e7d575f5ffd5b828260208301375f602084830101529392505050565b5f60208284031215612ea3575f5ffd5b81356001600160401b03811115612eb8575f5ffd5b8201601f81018413612ec8575f5ffd5b61144d84823560208401612e58565b6020815260ff82511660208201525f602083015160408084015261144d6060840182612b02565b6020815260018060a01b03825116602082015262ffffff60208301511660408201525f604083015160806060840152612f3a60a0840182612b02565b9050606084015160808401528091505092915050565b5f60208284031215612f60575f5ffd5b81356115a881612cad565b634e487b7160e01b5f52602160045260245ffd5b60058110612f8f57612f8f612f6b565b9052565b60148110612f8f57612f8f612f6b565b5f82825180855260208501945060208160051b830101602085015f5b83811015612bc057848303601f19018852815183604081015f5b6002811015613007578682038352612ff2828551612b02565b60209485019493909301929150600101612fd9565b5060209a8b019a90955093909301925050600101612fbf565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561310557603f19878603018452815160ff815116865260208101516130726020880182612f7f565b5060408101516130856040880182612f93565b50606081015160e0606088015261309f60e0880182612b02565b9050608082015187820360808901526130b88282612b02565b91505060a082015187820360a08901526130d28282612fa3565b91505060c0820151915086810360c08801526130ee8183612b02565b965050506020938401939190910190600101613046565b50929695505050505050565b5f5f5f60408486031215613123575f5ffd5b83356001600160401b03811115613138575f5ffd5b61314486828701612c69565b909790965060209590950135949350505050565b5f5f60208385031215613169575f5ffd5b82356001600160401b0381111561317e575f5ffd5b61318a85828601612c69565b90969095509350505050565b6001600160e01b031991909116815260200190565b5f6040828403121561146e575f5ffd5b5f5f606083850312156131cc575f5ffd5b82356131d781612b42565b91506131e684602085016131ab565b90509250929050565b5f5f5f60408486031215613201575f5ffd5b83356001600160401b03811115613216575f5ffd5b61322286828701612c69565b909450925050602084013561323681612cad565b809150509250925092565b61ffff81168114611a6e575f5ffd5b5f60208284031215613260575f5ffd5b81356115a881613241565b5f6020828403121561327b575f5ffd5b5035919050565b6001600160401b0381511682526001600160401b036020820151166020830152604081015160408301526060810151600481106132c1576132c1612f6b565b806060840152505050565b60808101611a528284613282565b6020815260018060a01b0382511660208201526001600160401b036020830151166040820152604082015160608201525f606083015160a0608084015261332460c0840182612b02565b608094909401516001600160a01b031660a093909301929092525090919050565b602081016007831061335957613359612f6b565b91905290565b5f5f60208385031215613370575f5ffd5b82356001600160401b03811115613385575f5ffd5b61318a85828601612cc1565b602080825282518282018190525f918401906040840190835b818110156133d3576133bd838551613282565b60209390930192608092909201916001016133aa565b509095945050505050565b5f604082840312156133ee575f5ffd5b6115a883836131ab565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680613432576134326133f8565b8060ff84160491505092915050565b60ff8181168382160190811115611a5257611a5261340c565b5f60ff83168061346c5761346c6133f8565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6001600160401b038211156134a7576134a7612da4565b5060051b60200190565b80515f81900b811461102f575f5ffd5b5f82601f8301126134d0575f5ffd5b8151602083015f6134e3612e6584612e32565b90508281528583830111156134f6575f5ffd5b8282602083015e5f92810160200192909252509392505050565b60058110611a6e575f5ffd5b805161102f81613510565b5f60408284031215613537575f5ffd5b61353f612db8565b9050815161354c81613510565b815260208201516001600160401b03811115613566575f5ffd5b8201601f81018413613576575f5ffd5b8051613584612e658261348f565b8082825260208201915060208360051b8501019250868311156135a5575f5ffd5b602084015b838110156135e55780516001600160401b038111156135c7575f5ffd5b6135d6896020838901016134c1565b845250602092830192016135aa565b5060208501525091949350505050565b5f60608284031215613605575f5ffd5b604051606081016001600160401b038111828210171561362757613627612da4565b806040525080915082516004811061363d575f5ffd5b8152602083015161364d81612cad565b6020820152604092830151920191909152919050565b805162ffffff8116811461102f575f5ffd5b8051801515811461102f575f5ffd5b5f60c08284031215613694575f5ffd5b60405160c081016001600160401b03811182821017156136b6576136b6612da4565b6040529050806136c583613663565b81526136d360208401613675565b60208201526136e460408401613663565b60408201526136f560608401613663565b6060820152608083015161370881613241565b608082015260a083015161371b81613241565b60a0919091015292915050565b6001600160401b0381168114611a6e575f5ffd5b5f60a0828403121561374c575f5ffd5b60405160a081016001600160401b038111828210171561376e5761376e612da4565b60405290508061377d836134b1565b8152602083015161378d81613728565b60208201526040830151600681900b81146137a6575f5ffd5b604082015260608301516137b981613728565b6060820152608092830151920191909152919050565b5f61024082840312156137e0575f5ffd5b6137e8612de0565b8251815290506137fa602083016134b1565b602082015260408201516001600160401b03811115613817575f5ffd5b613823848285016134c1565b60408301525060608201516001600160401b03811115613841575f5ffd5b61384d84828501613527565b60608301525061386083608084016135f5565b60808201526138728360e08401613684565b60a0820152613885836101a0840161373c565b60c082015292915050565b5f602082840312156138a0575f5ffd5b81516001600160401b038111156138b5575f5ffd5b8201601f810184136138c5575f5ffd5b80516138d3612e658261348f565b8082825260208201915060208360051b8501019250868311156138f4575f5ffd5b602084015b838110156139345780516001600160401b03811115613916575f5ffd5b613925896020838901016137cf565b845250602092830192016138f9565b509695505050505050565b5f6020828403121561394f575f5ffd5b81516001600160401b03811115613964575f5ffd5b61144d848285016137cf565b5f5f60408385031215613981575f5ffd5b825161398c81612cad565b60208401519092506001600160401b038111156139a7575f5ffd5b6139b3858286016134c1565b9150509250929050565b5f602082840312156139cd575f5ffd5b81516115a881612cad565b5f602082840312156139e8575f5ffd5b81516001600160401b038111156139fd575f5ffd5b61144d848285016134c1565b5f60208284031215613a19575f5ffd5b6115a8826134b1565b5f81810b60808101613a3657613a3661340c565b5f0392915050565b5f60c08284031215613a4e575f5ffd5b6115a88383613684565b6001600160401b0381811683821602908116908181146120c8576120c861340c565b5f6001600160401b03831680613a9257613a926133f8565b806001600160401b0384160491505092915050565b805160ff8116811461102f575f5ffd5b80516014811061102f575f5ffd5b5f82601f830112613ad4575f5ffd5b8151613ae2612e658261348f565b8082825260208201915060208360051b860101925085831115613b03575f5ffd5b602085015b83811015613ba05780516001600160401b03811115613b25575f5ffd5b8601603f81018813613b35575f5ffd5b613b3d612db8565b80606083018a811115613b4e575f5ffd5b602084015b81811015613b8e5780516001600160401b03811115613b70575f5ffd5b613b7f8d6020838901016134c1565b85525060209384019301613b53565b50508552505060209283019201613b08565b5095945050505050565b5f60208284031215613bba575f5ffd5b81516001600160401b03811115613bcf575f5ffd5b8201601f81018413613bdf575f5ffd5b8051613bed612e658261348f565b8082825260208201915060208360051b850101925086831115613c0e575f5ffd5b602084015b838110156139345780516001600160401b03811115613c30575f5ffd5b850160e0818a03601f19011215613c45575f5ffd5b613c4d612de0565b613c5960208301613aa7565b8152613c676040830161351c565b6020820152613c7860608301613ab7565b604082015260808201516001600160401b03811115613c95575f5ffd5b613ca48b6020838601016134c1565b60608301525060a08201516001600160401b03811115613cc2575f5ffd5b613cd18b6020838601016134c1565b60808301525060c08201516001600160401b03811115613cef575f5ffd5b613cfe8b602083860101613ac5565b60a08301525060e08201516001600160401b03811115613d1c575f5ffd5b613d2b8b6020838601016134c1565b60c08301525084525060209283019201613c13565b5f60208284031215613d50575f5ffd5b81516115a881612b42565b5f60a08284031215613d6b575f5ffd5b6115a8838361373c565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b5f60208284031215613db3575f5ffd5b6115a882613675565b600181811c90821680613dd057607f821691505b60208210810361146e57634e487b7160e01b5f52602260045260245ffd5b6b0313cb830b9b9b2b2103a37960a51b81525f6115a8600c830184612a83565b80820180821115611a5257611a5261340c565b5f61144d612af28386612a83565b5f613e3a8285612a83565b6101d160f51b8152613e4f6002820185612a83565b95945050505050565b5f60018201613e6957613e6961340c565b5060010190565b81810381811115611a5257611a5261340c565b8082028115828204841417611a5257611a5261340c565b6001815b6001841115613ed557808504811115613eb957613eb961340c565b6001841615613ec757908102905b60019390931c928002613e9e565b935093915050565b5f82613eeb57506001611a52565b81613ef757505f611a52565b8160018114613f0d5760028114613f1757613f33565b6001915050611a52565b60ff841115613f2857613f2861340c565b50506001821b611a52565b5060208310610133831016604e8410600b8410161715613f56575081810a611a52565b613f625f198484613e9a565b805f1904821115613f7557613f7561340c565b029392505050565b5f6115a88383613edd56fec5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53901c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900a26469706673582212207c238b27b113ddbe89f11bb372e10de6bbf1c80123d4c29af33a7772e962b0f764736f6c634300081e0033",
  "immutableReferences": {
    "948": [
      {
        "length": 32,
        "start": 2207
      },
      {
        "length": 32,
        "start": 3054
      },
      {
        "length": 32,
        "start": 3911
      },
      {
        "length": 32,
        "start": 4083
      },
      {
        "length": 32,
        "start": 4715
      },
      {
        "length": 32,
        "start": 4880
      },
      {
        "length": 32,
        "start": 5337
      },
      {
        "length": 32,
        "start": 5685
      },
      {
        "length": 32,
        "start": 5952
      },
      {
        "length": 32,
        "start": 6407
      },
      {
        "length": 32,
        "start": 6537
      },
      {
        "length": 32,
        "start": 6911
      },
      {
        "length": 32,
        "start": 7163
      },
      {
        "length": 32,
        "start": 7330
      },
      {
        "length": 32,
        "start": 7529
      },
      {
        "length": 32,
        "start": 7983
      },
      {
        "length": 32,
        "start": 8404
      }
    ],
    "951": [
      {
        "length": 32,
        "start": 1705
      },
      {
        "length": 32,
        "start": 5082
      },
      {
        "length": 32,
        "start": 6154
      }
    ],
    "9009": [
      {
        "length": 32,
        "start": 5243
      }
    ],
    "9013": [
      {
        "length": 32,
        "start": 2448
      }
    ],
    "9104": [
      {
        "length": 32,
        "start": 1290
      }
    ],
    "45824": [
      {
        "length": 32,
        "start": 1237
      },
      {
        "length": 32,
        "start": 1951
      },
      {
        "length": 32,
        "start": 4362
      },
      {
        "length": 32,
        "start": 4475
      },
      {
        "length": 32,
        "start": 4546
      },
      {
        "length": 32,
        "start": 4580
      }
    ],
    "45828": [
      {
        "length": 32,
        "start": 1338
      },
      {
        "length": 32,
        "start": 5574
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:2446:136",
        "nodeType": "YulBlock",
        "src": "0:2446:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "59:86:136",
              "nodeType": "YulBlock",
              "src": "59:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "123:16:136",
                    "nodeType": "YulBlock",
                    "src": "123:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "132:1:136",
                              "nodeType": "YulLiteral",
                              "src": "132:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "135:1:136",
                              "nodeType": "YulLiteral",
                              "src": "135:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "125:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "125:6:136"
                          },
                          "nativeSrc": "125:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "125:12:136"
                        },
                        "nativeSrc": "125:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "125:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "82:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "82:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "93:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "93:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "108:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "108:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "113:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "113:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "104:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "104:3:136"
                                    },
                                    "nativeSrc": "104:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "104:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "117:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "117:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "100:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "100:3:136"
                                },
                                "nativeSrc": "100:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "100:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "89:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "89:3:136"
                            },
                            "nativeSrc": "89:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "89:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "79:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "79:2:136"
                        },
                        "nativeSrc": "79:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "79:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "72:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "72:6:136"
                    },
                    "nativeSrc": "72:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "72:50:136"
                  },
                  "nativeSrc": "69:70:136",
                  "nodeType": "YulIf",
                  "src": "69:70:136"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "14:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "48:5:136",
                "nodeType": "YulTypedName",
                "src": "48:5:136",
                "type": ""
              }
            ],
            "src": "14:131:136"
          },
          {
            "body": {
              "nativeSrc": "262:362:136",
              "nodeType": "YulBlock",
              "src": "262:362:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "308:16:136",
                    "nodeType": "YulBlock",
                    "src": "308:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "317:1:136",
                              "nodeType": "YulLiteral",
                              "src": "317:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "320:1:136",
                              "nodeType": "YulLiteral",
                              "src": "320:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "310:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "310:6:136"
                          },
                          "nativeSrc": "310:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "310:12:136"
                        },
                        "nativeSrc": "310:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "310:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "283:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "283:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "292:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "292:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "279:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "279:3:136"
                        },
                        "nativeSrc": "279:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "279:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "304:2:136",
                        "nodeType": "YulLiteral",
                        "src": "304:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "275:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "275:3:136"
                    },
                    "nativeSrc": "275:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "275:32:136"
                  },
                  "nativeSrc": "272:52:136",
                  "nodeType": "YulIf",
                  "src": "272:52:136"
                },
                {
                  "nativeSrc": "333:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "333:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "352:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "352:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "346:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "346:5:136"
                    },
                    "nativeSrc": "346:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "346:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "337:5:136",
                      "nodeType": "YulTypedName",
                      "src": "337:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "396:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "396:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "371:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "371:24:136"
                    },
                    "nativeSrc": "371:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "371:31:136"
                  },
                  "nativeSrc": "371:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "371:31:136"
                },
                {
                  "nativeSrc": "411:15:136",
                  "nodeType": "YulAssignment",
                  "src": "411:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "421:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "421:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "411:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "411:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "435:35:136",
                  "nodeType": "YulAssignment",
                  "src": "435:35:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "455:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "455:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "466:2:136",
                            "nodeType": "YulLiteral",
                            "src": "466:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "451:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "451:3:136"
                        },
                        "nativeSrc": "451:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "451:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "445:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "445:5:136"
                    },
                    "nativeSrc": "445:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "445:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "435:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "435:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "479:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "479:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "504:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "504:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "515:2:136",
                            "nodeType": "YulLiteral",
                            "src": "515:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "500:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "500:3:136"
                        },
                        "nativeSrc": "500:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "500:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "494:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "494:5:136"
                    },
                    "nativeSrc": "494:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "494:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "483:7:136",
                      "nodeType": "YulTypedName",
                      "src": "483:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "576:16:136",
                    "nodeType": "YulBlock",
                    "src": "576:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "585:1:136",
                              "nodeType": "YulLiteral",
                              "src": "585:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "588:1:136",
                              "nodeType": "YulLiteral",
                              "src": "588:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "578:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "578:6:136"
                          },
                          "nativeSrc": "578:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "578:12:136"
                        },
                        "nativeSrc": "578:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "578:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "541:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "541:7:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "564:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "564:7:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "557:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "557:6:136"
                                },
                                "nativeSrc": "557:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "557:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "550:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "550:6:136"
                            },
                            "nativeSrc": "550:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "550:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "538:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "538:2:136"
                        },
                        "nativeSrc": "538:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "538:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "531:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "531:6:136"
                    },
                    "nativeSrc": "531:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "531:44:136"
                  },
                  "nativeSrc": "528:64:136",
                  "nodeType": "YulIf",
                  "src": "528:64:136"
                },
                {
                  "nativeSrc": "601:17:136",
                  "nodeType": "YulAssignment",
                  "src": "601:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "611:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "611:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "601:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "601:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory",
            "nativeSrc": "150:474:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "212:9:136",
                "nodeType": "YulTypedName",
                "src": "212:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "223:7:136",
                "nodeType": "YulTypedName",
                "src": "223:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "235:6:136",
                "nodeType": "YulTypedName",
                "src": "235:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "243:6:136",
                "nodeType": "YulTypedName",
                "src": "243:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "251:6:136",
                "nodeType": "YulTypedName",
                "src": "251:6:136",
                "type": ""
              }
            ],
            "src": "150:474:136"
          },
          {
            "body": {
              "nativeSrc": "730:102:136",
              "nodeType": "YulBlock",
              "src": "730:102:136",
              "statements": [
                {
                  "nativeSrc": "740:26:136",
                  "nodeType": "YulAssignment",
                  "src": "740:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "752:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "752:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "763:2:136",
                        "nodeType": "YulLiteral",
                        "src": "763:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "748:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "748:3:136"
                    },
                    "nativeSrc": "748:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "748:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "740:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "740:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "782:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "782:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "797:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "797:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "813:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "813:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "818:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "818:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "809:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "809:3:136"
                                },
                                "nativeSrc": "809:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "809:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "822:1:136",
                                "nodeType": "YulLiteral",
                                "src": "822:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "805:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "805:3:136"
                            },
                            "nativeSrc": "805:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "805:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "793:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "793:3:136"
                        },
                        "nativeSrc": "793:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "793:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "775:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "775:6:136"
                    },
                    "nativeSrc": "775:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "775:51:136"
                  },
                  "nativeSrc": "775:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "775:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "629:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "699:9:136",
                "nodeType": "YulTypedName",
                "src": "699:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "710:6:136",
                "nodeType": "YulTypedName",
                "src": "710:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "721:4:136",
                "nodeType": "YulTypedName",
                "src": "721:4:136",
                "type": ""
              }
            ],
            "src": "629:203:136"
          },
          {
            "body": {
              "nativeSrc": "918:170:136",
              "nodeType": "YulBlock",
              "src": "918:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "964:16:136",
                    "nodeType": "YulBlock",
                    "src": "964:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "973:1:136",
                              "nodeType": "YulLiteral",
                              "src": "973:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "976:1:136",
                              "nodeType": "YulLiteral",
                              "src": "976:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "966:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "966:6:136"
                          },
                          "nativeSrc": "966:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "966:12:136"
                        },
                        "nativeSrc": "966:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "966:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "939:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "939:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "948:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "948:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "935:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "935:3:136"
                        },
                        "nativeSrc": "935:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "935:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "960:2:136",
                        "nodeType": "YulLiteral",
                        "src": "960:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "931:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "931:3:136"
                    },
                    "nativeSrc": "931:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "931:32:136"
                  },
                  "nativeSrc": "928:52:136",
                  "nodeType": "YulIf",
                  "src": "928:52:136"
                },
                {
                  "nativeSrc": "989:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "989:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1008:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1008:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1002:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1002:5:136"
                    },
                    "nativeSrc": "1002:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1002:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "993:5:136",
                      "nodeType": "YulTypedName",
                      "src": "993:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1052:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1052:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1027:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "1027:24:136"
                    },
                    "nativeSrc": "1027:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1027:31:136"
                  },
                  "nativeSrc": "1027:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1027:31:136"
                },
                {
                  "nativeSrc": "1067:15:136",
                  "nodeType": "YulAssignment",
                  "src": "1067:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1077:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "1077:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1067:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1067:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "837:251:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "884:9:136",
                "nodeType": "YulTypedName",
                "src": "884:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "895:7:136",
                "nodeType": "YulTypedName",
                "src": "895:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "907:6:136",
                "nodeType": "YulTypedName",
                "src": "907:6:136",
                "type": ""
              }
            ],
            "src": "837:251:136"
          },
          {
            "body": {
              "nativeSrc": "1207:170:136",
              "nodeType": "YulBlock",
              "src": "1207:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1253:16:136",
                    "nodeType": "YulBlock",
                    "src": "1253:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1262:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1262:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1265:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1265:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1255:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1255:6:136"
                          },
                          "nativeSrc": "1255:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1255:12:136"
                        },
                        "nativeSrc": "1255:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1255:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1228:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "1228:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1237:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1237:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1224:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1224:3:136"
                        },
                        "nativeSrc": "1224:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1224:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1249:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1249:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1220:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1220:3:136"
                    },
                    "nativeSrc": "1220:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1220:32:136"
                  },
                  "nativeSrc": "1217:52:136",
                  "nodeType": "YulIf",
                  "src": "1217:52:136"
                },
                {
                  "nativeSrc": "1278:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1278:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1297:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1297:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1291:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1291:5:136"
                    },
                    "nativeSrc": "1291:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1291:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1282:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1282:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1341:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1341:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1316:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "1316:24:136"
                    },
                    "nativeSrc": "1316:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1316:31:136"
                  },
                  "nativeSrc": "1316:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1316:31:136"
                },
                {
                  "nativeSrc": "1356:15:136",
                  "nodeType": "YulAssignment",
                  "src": "1356:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1366:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "1366:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1356:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1356:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory",
            "nativeSrc": "1093:284:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1173:9:136",
                "nodeType": "YulTypedName",
                "src": "1173:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1184:7:136",
                "nodeType": "YulTypedName",
                "src": "1184:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1196:6:136",
                "nodeType": "YulTypedName",
                "src": "1196:6:136",
                "type": ""
              }
            ],
            "src": "1093:284:136"
          },
          {
            "body": {
              "nativeSrc": "1432:162:136",
              "nodeType": "YulBlock",
              "src": "1432:162:136",
              "statements": [
                {
                  "nativeSrc": "1442:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1442:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1462:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1462:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1456:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1456:5:136"
                    },
                    "nativeSrc": "1456:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1456:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1446:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1446:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1483:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1483:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1492:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1492:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1499:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1499:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1488:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1488:3:136"
                        },
                        "nativeSrc": "1488:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1488:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1506:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1506:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "1477:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1477:5:136"
                    },
                    "nativeSrc": "1477:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1477:36:136"
                  },
                  "nativeSrc": "1477:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1477:36:136"
                },
                {
                  "nativeSrc": "1522:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1522:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1536:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1536:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1541:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1541:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1532:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1532:3:136"
                    },
                    "nativeSrc": "1532:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1532:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1526:2:136",
                      "nodeType": "YulTypedName",
                      "src": "1526:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "1564:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "1564:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1568:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1568:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1557:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1557:6:136"
                    },
                    "nativeSrc": "1557:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1557:13:136"
                  },
                  "nativeSrc": "1557:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1557:13:136"
                },
                {
                  "nativeSrc": "1579:9:136",
                  "nodeType": "YulAssignment",
                  "src": "1579:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "1586:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "1586:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1579:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1579:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "1382:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1409:5:136",
                "nodeType": "YulTypedName",
                "src": "1409:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1416:3:136",
                "nodeType": "YulTypedName",
                "src": "1416:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1424:3:136",
                "nodeType": "YulTypedName",
                "src": "1424:3:136",
                "type": ""
              }
            ],
            "src": "1382:212:136"
          },
          {
            "body": {
              "nativeSrc": "1887:134:136",
              "nodeType": "YulBlock",
              "src": "1887:134:136",
              "statements": [
                {
                  "nativeSrc": "1897:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1897:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1925:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1925:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "1933:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1933:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "1907:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "1907:17:136"
                    },
                    "nativeSrc": "1907:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1907:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1901:2:136",
                      "nodeType": "YulTypedName",
                      "src": "1901:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "1953:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "1953:2:136"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "1957:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1957:4:136",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1946:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1946:6:136"
                    },
                    "nativeSrc": "1946:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1946:16:136"
                  },
                  "nativeSrc": "1946:16:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1946:16:136"
                },
                {
                  "nativeSrc": "1971:44:136",
                  "nodeType": "YulAssignment",
                  "src": "1971:44:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "1996:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1996:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "2008:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "2008:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2012:1:136",
                            "nodeType": "YulLiteral",
                            "src": "2012:1:136",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2004:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2004:3:136"
                        },
                        "nativeSrc": "2004:10:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2004:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "1978:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "1978:17:136"
                    },
                    "nativeSrc": "1978:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1978:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1971:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1971:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "1599:422:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "1855:3:136",
                "nodeType": "YulTypedName",
                "src": "1855:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "1860:6:136",
                "nodeType": "YulTypedName",
                "src": "1860:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1868:6:136",
                "nodeType": "YulTypedName",
                "src": "1868:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1879:3:136",
                "nodeType": "YulTypedName",
                "src": "1879:3:136",
                "type": ""
              }
            ],
            "src": "1599:422:136"
          },
          {
            "body": {
              "nativeSrc": "2147:297:136",
              "nodeType": "YulBlock",
              "src": "2147:297:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2164:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2164:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2175:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2175:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2157:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2157:6:136"
                    },
                    "nativeSrc": "2157:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2157:21:136"
                  },
                  "nativeSrc": "2157:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2157:21:136"
                },
                {
                  "nativeSrc": "2187:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2187:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "2207:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2207:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2201:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2201:5:136"
                    },
                    "nativeSrc": "2201:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2201:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2191:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2191:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2234:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2234:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2245:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2245:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2230:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2230:3:136"
                        },
                        "nativeSrc": "2230:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2230:18:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2250:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2250:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2223:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2223:6:136"
                    },
                    "nativeSrc": "2223:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2223:34:136"
                  },
                  "nativeSrc": "2223:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2223:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2276:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2276:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2287:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2287:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2272:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2272:3:136"
                        },
                        "nativeSrc": "2272:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2272:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "2296:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2296:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2304:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2304:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2292:3:136"
                        },
                        "nativeSrc": "2292:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2292:15:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2309:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2309:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "2266:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2266:5:136"
                    },
                    "nativeSrc": "2266:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2266:50:136"
                  },
                  "nativeSrc": "2266:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2266:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "2340:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "2340:9:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2351:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2351:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2336:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2336:3:136"
                            },
                            "nativeSrc": "2336:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2336:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2360:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2360:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2332:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2332:3:136"
                        },
                        "nativeSrc": "2332:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2332:31:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2365:1:136",
                        "nodeType": "YulLiteral",
                        "src": "2365:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2325:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2325:6:136"
                    },
                    "nativeSrc": "2325:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2325:42:136"
                  },
                  "nativeSrc": "2325:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2325:42:136"
                },
                {
                  "nativeSrc": "2376:62:136",
                  "nodeType": "YulAssignment",
                  "src": "2376:62:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2392:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2392:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "2411:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2411:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2419:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2419:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2407:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2407:3:136"
                                },
                                "nativeSrc": "2407:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2407:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2428:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2428:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "2424:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2424:3:136"
                                },
                                "nativeSrc": "2424:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2424:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2403:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2403:3:136"
                            },
                            "nativeSrc": "2403:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2403:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2388:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2388:3:136"
                        },
                        "nativeSrc": "2388:45:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2388:45:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2435:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2435:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2384:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2384:3:136"
                    },
                    "nativeSrc": "2384:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2384:54:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2376:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "2376:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "2026:418:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2116:9:136",
                "nodeType": "YulTypedName",
                "src": "2116:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2127:6:136",
                "nodeType": "YulTypedName",
                "src": "2127:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2138:4:136",
                "nodeType": "YulTypedName",
                "src": "2138:4:136",
                "type": ""
              }
            ],
            "src": "2026:418:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := mload(add(headStart, 32))\n        let value_1 := mload(add(headStart, 64))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value2 := value_1\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        mcopy(add(headStart, 64), add(value0, 32), length)\n        mstore(add(add(headStart, length), 64), 0)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:44482:136",
        "nodeType": "YulBlock",
        "src": "0:44482:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "64:162:136",
              "nodeType": "YulBlock",
              "src": "64:162:136",
              "statements": [
                {
                  "nativeSrc": "74:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "74:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "94:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "94:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "88:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "88:5:136"
                    },
                    "nativeSrc": "88:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "88:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "78:6:136",
                      "nodeType": "YulTypedName",
                      "src": "78:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "115:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "115:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "124:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "124:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "131:4:136",
                            "nodeType": "YulLiteral",
                            "src": "131:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "120:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "120:3:136"
                        },
                        "nativeSrc": "120:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "120:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "138:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "138:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "109:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "109:5:136"
                    },
                    "nativeSrc": "109:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "109:36:136"
                  },
                  "nativeSrc": "109:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "109:36:136"
                },
                {
                  "nativeSrc": "154:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "154:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "168:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "168:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "173:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "173:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "164:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "164:3:136"
                    },
                    "nativeSrc": "164:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "164:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "158:2:136",
                      "nodeType": "YulTypedName",
                      "src": "158:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "196:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "196:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "200:1:136",
                        "nodeType": "YulLiteral",
                        "src": "200:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "189:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "189:6:136"
                    },
                    "nativeSrc": "189:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "189:13:136"
                  },
                  "nativeSrc": "189:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "189:13:136"
                },
                {
                  "nativeSrc": "211:9:136",
                  "nodeType": "YulAssignment",
                  "src": "211:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "218:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "218:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "211:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "211:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "14:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "41:5:136",
                "nodeType": "YulTypedName",
                "src": "41:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "48:3:136",
                "nodeType": "YulTypedName",
                "src": "48:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "56:3:136",
                "nodeType": "YulTypedName",
                "src": "56:3:136",
                "type": ""
              }
            ],
            "src": "14:212:136"
          },
          {
            "body": {
              "nativeSrc": "615:241:136",
              "nodeType": "YulBlock",
              "src": "615:241:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "632:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "632:3:136"
                      },
                      {
                        "hexValue": "5769746e657455706772616461626c65426173653a206e6f7420696d706c656d",
                        "kind": "string",
                        "nativeSrc": "637:34:136",
                        "nodeType": "YulLiteral",
                        "src": "637:34:136",
                        "type": "",
                        "value": "WitnetUpgradableBase: not implem"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "625:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "625:6:136"
                    },
                    "nativeSrc": "625:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "625:47:136"
                  },
                  "nativeSrc": "625:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "625:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "692:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "692:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "697:2:136",
                            "nodeType": "YulLiteral",
                            "src": "697:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "688:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "688:3:136"
                        },
                        "nativeSrc": "688:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "688:12:136"
                      },
                      {
                        "hexValue": "656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "702:11:136",
                        "nodeType": "YulLiteral",
                        "src": "702:11:136",
                        "type": "",
                        "value": "ented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "681:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "681:6:136"
                    },
                    "nativeSrc": "681:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "681:33:136"
                  },
                  "nativeSrc": "681:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "681:33:136"
                },
                {
                  "nativeSrc": "723:127:136",
                  "nodeType": "YulAssignment",
                  "src": "723:127:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "748:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "748:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "774:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "774:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "800:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "800:6:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "826:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "826:6:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "pos",
                                        "nativeSrc": "838:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "838:3:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "843:2:136",
                                        "nodeType": "YulLiteral",
                                        "src": "843:2:136",
                                        "type": "",
                                        "value": "41"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "834:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "834:3:136"
                                    },
                                    "nativeSrc": "834:12:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "834:12:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_string",
                                  "nativeSrc": "808:17:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "808:17:136"
                                },
                                "nativeSrc": "808:39:136",
                                "nodeType": "YulFunctionCall",
                                "src": "808:39:136"
                              }
                            ],
                            "functionName": {
                              "name": "abi_encode_string",
                              "nativeSrc": "782:17:136",
                              "nodeType": "YulIdentifier",
                              "src": "782:17:136"
                            },
                            "nativeSrc": "782:66:136",
                            "nodeType": "YulFunctionCall",
                            "src": "782:66:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_encode_string",
                          "nativeSrc": "756:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "756:17:136"
                        },
                        "nativeSrc": "756:93:136",
                        "nodeType": "YulFunctionCall",
                        "src": "756:93:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "730:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "730:17:136"
                    },
                    "nativeSrc": "730:120:136",
                    "nodeType": "YulFunctionCall",
                    "src": "730:120:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "723:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "723:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_ecda1eb336220fc8a9b6c69d764b8872b0f5ce6949b5b718b3e7bf6d52b1de44_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "231:625:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "567:3:136",
                "nodeType": "YulTypedName",
                "src": "567:3:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "572:6:136",
                "nodeType": "YulTypedName",
                "src": "572:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "580:6:136",
                "nodeType": "YulTypedName",
                "src": "580:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "588:6:136",
                "nodeType": "YulTypedName",
                "src": "588:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "596:6:136",
                "nodeType": "YulTypedName",
                "src": "596:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "607:3:136",
                "nodeType": "YulTypedName",
                "src": "607:3:136",
                "type": ""
              }
            ],
            "src": "231:625:136"
          },
          {
            "body": {
              "nativeSrc": "922:239:136",
              "nodeType": "YulBlock",
              "src": "922:239:136",
              "statements": [
                {
                  "nativeSrc": "932:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "932:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "952:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "952:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "946:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "946:5:136"
                    },
                    "nativeSrc": "946:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "946:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "936:6:136",
                      "nodeType": "YulTypedName",
                      "src": "936:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "974:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "974:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "979:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "979:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "967:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "967:6:136"
                    },
                    "nativeSrc": "967:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "967:19:136"
                  },
                  "nativeSrc": "967:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "967:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1005:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1005:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1010:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1010:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1001:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1001:3:136"
                        },
                        "nativeSrc": "1001:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1001:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1021:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1021:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1028:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1028:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1017:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1017:3:136"
                        },
                        "nativeSrc": "1017:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1017:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1035:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1035:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "995:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "995:5:136"
                    },
                    "nativeSrc": "995:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "995:47:136"
                  },
                  "nativeSrc": "995:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "995:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "1066:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1066:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "1071:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "1071:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1062:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1062:3:136"
                            },
                            "nativeSrc": "1062:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1062:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1080:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1080:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1058:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1058:3:136"
                        },
                        "nativeSrc": "1058:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1058:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1087:1:136",
                        "nodeType": "YulLiteral",
                        "src": "1087:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1051:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1051:6:136"
                    },
                    "nativeSrc": "1051:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1051:38:136"
                  },
                  "nativeSrc": "1051:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1051:38:136"
                },
                {
                  "nativeSrc": "1098:57:136",
                  "nodeType": "YulAssignment",
                  "src": "1098:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1113:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1113:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "1126:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1126:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1134:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1134:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1122:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1122:3:136"
                                },
                                "nativeSrc": "1122:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1122:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1143:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1143:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "1139:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1139:3:136"
                                },
                                "nativeSrc": "1139:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1139:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1118:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1118:3:136"
                            },
                            "nativeSrc": "1118:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1118:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1109:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1109:3:136"
                        },
                        "nativeSrc": "1109:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1109:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1150:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1150:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1105:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1105:3:136"
                    },
                    "nativeSrc": "1105:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1105:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1098:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1098:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_memory_ptr",
            "nativeSrc": "861:300:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "899:5:136",
                "nodeType": "YulTypedName",
                "src": "899:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "906:3:136",
                "nodeType": "YulTypedName",
                "src": "906:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "914:3:136",
                "nodeType": "YulTypedName",
                "src": "914:3:136",
                "type": ""
              }
            ],
            "src": "861:300:136"
          },
          {
            "body": {
              "nativeSrc": "1287:110:136",
              "nodeType": "YulBlock",
              "src": "1287:110:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1304:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1304:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1315:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1315:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1297:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1297:6:136"
                    },
                    "nativeSrc": "1297:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1297:21:136"
                  },
                  "nativeSrc": "1297:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1297:21:136"
                },
                {
                  "nativeSrc": "1327:64:136",
                  "nodeType": "YulAssignment",
                  "src": "1327:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1364:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1364:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1376:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1376:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1387:2:136",
                            "nodeType": "YulLiteral",
                            "src": "1387:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1372:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1372:3:136"
                        },
                        "nativeSrc": "1372:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1372:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "1335:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "1335:28:136"
                    },
                    "nativeSrc": "1335:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1335:56:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1327:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "1327:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "1166:231:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1256:9:136",
                "nodeType": "YulTypedName",
                "src": "1256:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1267:6:136",
                "nodeType": "YulTypedName",
                "src": "1267:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1278:4:136",
                "nodeType": "YulTypedName",
                "src": "1278:4:136",
                "type": ""
              }
            ],
            "src": "1166:231:136"
          },
          {
            "body": {
              "nativeSrc": "1446:87:136",
              "nodeType": "YulBlock",
              "src": "1446:87:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1511:16:136",
                    "nodeType": "YulBlock",
                    "src": "1511:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1520:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1520:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1523:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1523:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1513:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1513:6:136"
                          },
                          "nativeSrc": "1513:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1513:12:136"
                        },
                        "nativeSrc": "1513:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1513:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1469:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1469:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1480:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1480:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1491:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1491:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1496:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1496:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1487:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1487:3:136"
                                },
                                "nativeSrc": "1487:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1487:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1476:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1476:3:136"
                            },
                            "nativeSrc": "1476:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1476:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1466:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "1466:2:136"
                        },
                        "nativeSrc": "1466:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1466:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1459:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1459:6:136"
                    },
                    "nativeSrc": "1459:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1459:51:136"
                  },
                  "nativeSrc": "1456:71:136",
                  "nodeType": "YulIf",
                  "src": "1456:71:136"
                }
              ]
            },
            "name": "validator_revert_bytes4",
            "nativeSrc": "1402:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1435:5:136",
                "nodeType": "YulTypedName",
                "src": "1435:5:136",
                "type": ""
              }
            ],
            "src": "1402:131:136"
          },
          {
            "body": {
              "nativeSrc": "1607:176:136",
              "nodeType": "YulBlock",
              "src": "1607:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1653:16:136",
                    "nodeType": "YulBlock",
                    "src": "1653:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1662:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1662:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1665:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1665:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1655:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1655:6:136"
                          },
                          "nativeSrc": "1655:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1655:12:136"
                        },
                        "nativeSrc": "1655:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1655:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1628:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "1628:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1637:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1637:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1624:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1624:3:136"
                        },
                        "nativeSrc": "1624:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1624:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1649:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1649:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1620:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1620:3:136"
                    },
                    "nativeSrc": "1620:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1620:32:136"
                  },
                  "nativeSrc": "1617:52:136",
                  "nodeType": "YulIf",
                  "src": "1617:52:136"
                },
                {
                  "nativeSrc": "1678:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1678:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1704:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1704:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1691:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "1691:12:136"
                    },
                    "nativeSrc": "1691:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1691:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1682:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1682:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1747:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1747:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "1723:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "1723:23:136"
                    },
                    "nativeSrc": "1723:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1723:30:136"
                  },
                  "nativeSrc": "1723:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1723:30:136"
                },
                {
                  "nativeSrc": "1762:15:136",
                  "nodeType": "YulAssignment",
                  "src": "1762:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1772:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "1772:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1762:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1762:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4",
            "nativeSrc": "1538:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1573:9:136",
                "nodeType": "YulTypedName",
                "src": "1573:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1584:7:136",
                "nodeType": "YulTypedName",
                "src": "1584:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1596:6:136",
                "nodeType": "YulTypedName",
                "src": "1596:6:136",
                "type": ""
              }
            ],
            "src": "1538:245:136"
          },
          {
            "body": {
              "nativeSrc": "1889:76:136",
              "nodeType": "YulBlock",
              "src": "1889:76:136",
              "statements": [
                {
                  "nativeSrc": "1899:26:136",
                  "nodeType": "YulAssignment",
                  "src": "1899:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1911:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1911:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1922:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1922:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1907:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1907:3:136"
                    },
                    "nativeSrc": "1907:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1907:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1899:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "1899:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1941:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1941:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "1952:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1952:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1934:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1934:6:136"
                    },
                    "nativeSrc": "1934:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1934:25:136"
                  },
                  "nativeSrc": "1934:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1934:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "1788:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1858:9:136",
                "nodeType": "YulTypedName",
                "src": "1858:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1869:6:136",
                "nodeType": "YulTypedName",
                "src": "1869:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1880:4:136",
                "nodeType": "YulTypedName",
                "src": "1880:4:136",
                "type": ""
              }
            ],
            "src": "1788:177:136"
          },
          {
            "body": {
              "nativeSrc": "2030:530:136",
              "nodeType": "YulBlock",
              "src": "2030:530:136",
              "statements": [
                {
                  "nativeSrc": "2040:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2040:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "2053:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "2053:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "2044:5:136",
                      "nodeType": "YulTypedName",
                      "src": "2044:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2065:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2065:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2085:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "2085:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2079:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2079:5:136"
                    },
                    "nativeSrc": "2079:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2079:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2069:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2069:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2107:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2107:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2112:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2112:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2100:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2100:6:136"
                    },
                    "nativeSrc": "2100:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2100:19:136"
                  },
                  "nativeSrc": "2100:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2100:19:136"
                },
                {
                  "nativeSrc": "2128:21:136",
                  "nodeType": "YulAssignment",
                  "src": "2128:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2139:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2139:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2144:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2144:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2135:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2135:3:136"
                    },
                    "nativeSrc": "2135:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2135:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "2128:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2128:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "2158:49:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2158:49:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "2178:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2178:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "2189:1:136",
                                "nodeType": "YulLiteral",
                                "src": "2189:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2192:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2192:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "2185:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2185:3:136"
                            },
                            "nativeSrc": "2185:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2185:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2174:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2174:3:136"
                        },
                        "nativeSrc": "2174:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2174:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2202:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2202:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2170:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2170:3:136"
                    },
                    "nativeSrc": "2170:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2170:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "2162:4:136",
                      "nodeType": "YulTypedName",
                      "src": "2162:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2216:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2216:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2234:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "2234:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2241:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2241:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2230:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2230:3:136"
                    },
                    "nativeSrc": "2230:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2230:16:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "2220:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2220:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2255:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2255:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2264:1:136",
                    "nodeType": "YulLiteral",
                    "src": "2264:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "2259:1:136",
                      "nodeType": "YulTypedName",
                      "src": "2259:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2323:211:136",
                    "nodeType": "YulBlock",
                    "src": "2323:211:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2344:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2344:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "2357:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "2357:4:136"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "2363:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "2363:5:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "2353:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2353:3:136"
                                  },
                                  "nativeSrc": "2353:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2353:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "2375:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "2375:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "2371:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2371:3:136"
                                  },
                                  "nativeSrc": "2371:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2371:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "2349:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "2349:3:136"
                              },
                              "nativeSrc": "2349:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "2349:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2337:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2337:6:136"
                          },
                          "nativeSrc": "2337:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2337:43:136"
                        },
                        "nativeSrc": "2337:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2337:43:136"
                      },
                      {
                        "nativeSrc": "2393:57:136",
                        "nodeType": "YulAssignment",
                        "src": "2393:57:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "2436:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2436:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "2430:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "2430:5:136"
                              },
                              "nativeSrc": "2430:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "2430:13:136"
                            },
                            {
                              "name": "tail",
                              "nativeSrc": "2445:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "2445:4:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "2401:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "2401:28:136"
                          },
                          "nativeSrc": "2401:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2401:49:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "2393:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "2393:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2463:27:136",
                        "nodeType": "YulAssignment",
                        "src": "2463:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "2477:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "2477:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2485:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2485:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2473:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2473:3:136"
                          },
                          "nativeSrc": "2473:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2473:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "2463:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2463:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2503:21:136",
                        "nodeType": "YulAssignment",
                        "src": "2503:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "2514:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2514:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2519:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2519:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2510:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2510:3:136"
                          },
                          "nativeSrc": "2510:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2510:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "2503:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2503:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "2285:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "2285:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2288:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2288:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "2282:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "2282:2:136"
                    },
                    "nativeSrc": "2282:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2282:13:136"
                  },
                  "nativeSrc": "2274:260:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "2296:18:136",
                    "nodeType": "YulBlock",
                    "src": "2296:18:136",
                    "statements": [
                      {
                        "nativeSrc": "2298:14:136",
                        "nodeType": "YulAssignment",
                        "src": "2298:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "2307:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "2307:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2310:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2310:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2303:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2303:3:136"
                          },
                          "nativeSrc": "2303:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2303:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "2298:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "2298:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "2278:3:136",
                    "nodeType": "YulBlock",
                    "src": "2278:3:136",
                    "statements": []
                  },
                  "src": "2274:260:136"
                },
                {
                  "nativeSrc": "2543:11:136",
                  "nodeType": "YulAssignment",
                  "src": "2543:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "2550:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "2550:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "2543:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2543:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_string_dyn",
            "nativeSrc": "1970:590:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2007:5:136",
                "nodeType": "YulTypedName",
                "src": "2007:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2014:3:136",
                "nodeType": "YulTypedName",
                "src": "2014:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2022:3:136",
                "nodeType": "YulTypedName",
                "src": "2022:3:136",
                "type": ""
              }
            ],
            "src": "1970:590:136"
          },
          {
            "body": {
              "nativeSrc": "2890:1075:136",
              "nodeType": "YulBlock",
              "src": "2890:1075:136",
              "statements": [
                {
                  "nativeSrc": "2900:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2900:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2918:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2918:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2929:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2929:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2914:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2914:3:136"
                    },
                    "nativeSrc": "2914:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2914:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "2904:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2904:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2948:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "2948:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2959:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2959:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2941:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2941:6:136"
                    },
                    "nativeSrc": "2941:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2941:21:136"
                  },
                  "nativeSrc": "2941:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2941:21:136"
                },
                {
                  "nativeSrc": "2971:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2971:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "2982:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "2982:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "2975:3:136",
                      "nodeType": "YulTypedName",
                      "src": "2975:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2997:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2997:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3017:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3017:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3011:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3011:5:136"
                    },
                    "nativeSrc": "3011:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3011:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3001:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3001:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "3040:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3040:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3048:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3048:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3033:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3033:6:136"
                    },
                    "nativeSrc": "3033:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3033:22:136"
                  },
                  "nativeSrc": "3033:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3033:22:136"
                },
                {
                  "nativeSrc": "3064:26:136",
                  "nodeType": "YulAssignment",
                  "src": "3064:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3075:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "3075:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3086:3:136",
                        "nodeType": "YulLiteral",
                        "src": "3086:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3071:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3071:3:136"
                    },
                    "nativeSrc": "3071:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3071:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "3064:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3064:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3099:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3099:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3117:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3117:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3125:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3125:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3113:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3113:3:136"
                    },
                    "nativeSrc": "3113:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3113:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "3103:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3103:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3139:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3139:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3148:1:136",
                    "nodeType": "YulLiteral",
                    "src": "3148:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "3143:1:136",
                      "nodeType": "YulTypedName",
                      "src": "3143:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3207:151:136",
                    "nodeType": "YulBlock",
                    "src": "3207:151:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "3228:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3228:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "3243:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "3243:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "3237:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "3237:5:136"
                                  },
                                  "nativeSrc": "3237:13:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3237:13:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "3256:3:136",
                                      "nodeType": "YulLiteral",
                                      "src": "3256:3:136",
                                      "type": "",
                                      "value": "224"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "3261:10:136",
                                      "nodeType": "YulLiteral",
                                      "src": "3261:10:136",
                                      "type": "",
                                      "value": "0xffffffff"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "3252:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "3252:3:136"
                                  },
                                  "nativeSrc": "3252:20:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3252:20:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "3233:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "3233:3:136"
                              },
                              "nativeSrc": "3233:40:136",
                              "nodeType": "YulFunctionCall",
                              "src": "3233:40:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3221:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3221:6:136"
                          },
                          "nativeSrc": "3221:53:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3221:53:136"
                        },
                        "nativeSrc": "3221:53:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3221:53:136"
                      },
                      {
                        "nativeSrc": "3287:21:136",
                        "nodeType": "YulAssignment",
                        "src": "3287:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "3298:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3298:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3303:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3303:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3294:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3294:3:136"
                          },
                          "nativeSrc": "3294:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3294:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "3287:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3287:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3321:27:136",
                        "nodeType": "YulAssignment",
                        "src": "3321:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "3335:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "3335:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3343:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3343:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3331:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3331:3:136"
                          },
                          "nativeSrc": "3331:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3331:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "3321:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3321:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "3169:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "3169:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3172:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3172:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3166:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3166:2:136"
                    },
                    "nativeSrc": "3166:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3166:13:136"
                  },
                  "nativeSrc": "3158:200:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3180:18:136",
                    "nodeType": "YulBlock",
                    "src": "3180:18:136",
                    "statements": [
                      {
                        "nativeSrc": "3182:14:136",
                        "nodeType": "YulAssignment",
                        "src": "3182:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "3191:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "3191:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3194:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3194:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3187:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3187:3:136"
                          },
                          "nativeSrc": "3187:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3187:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "3182:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "3182:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3162:3:136",
                    "nodeType": "YulBlock",
                    "src": "3162:3:136",
                    "statements": []
                  },
                  "src": "3158:200:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3378:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3378:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3389:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3389:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3374:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3374:3:136"
                        },
                        "nativeSrc": "3374:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3374:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3400:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3400:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3405:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3405:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3396:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3396:3:136"
                        },
                        "nativeSrc": "3396:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3396:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3367:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3367:6:136"
                    },
                    "nativeSrc": "3367:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3367:49:136"
                  },
                  "nativeSrc": "3367:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3367:49:136"
                },
                {
                  "nativeSrc": "3425:54:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3425:54:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "3467:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3467:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "3475:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "3475:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "3439:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "3439:27:136"
                    },
                    "nativeSrc": "3439:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3439:40:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "3429:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3429:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3499:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3499:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3510:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3510:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3495:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3495:3:136"
                        },
                        "nativeSrc": "3495:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3495:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "3519:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3519:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3527:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3527:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3515:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3515:3:136"
                        },
                        "nativeSrc": "3515:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3515:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3488:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3488:6:136"
                    },
                    "nativeSrc": "3488:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3488:50:136"
                  },
                  "nativeSrc": "3488:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3488:50:136"
                },
                {
                  "nativeSrc": "3547:19:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3547:19:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "3560:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "3560:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3551:5:136",
                      "nodeType": "YulTypedName",
                      "src": "3551:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3575:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3575:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "3597:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3597:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3591:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3591:5:136"
                    },
                    "nativeSrc": "3591:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3591:13:136"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "3579:8:136",
                      "nodeType": "YulTypedName",
                      "src": "3579:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "3620:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3620:6:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "3628:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "3628:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3613:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3613:6:136"
                    },
                    "nativeSrc": "3613:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3613:24:136"
                  },
                  "nativeSrc": "3613:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3613:24:136"
                },
                {
                  "nativeSrc": "3646:26:136",
                  "nodeType": "YulAssignment",
                  "src": "3646:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_2",
                        "nativeSrc": "3659:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3659:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3667:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3667:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3655:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3655:3:136"
                    },
                    "nativeSrc": "3655:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3655:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3646:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3646:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3681:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3681:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "3701:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3701:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3709:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3709:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3697:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3697:3:136"
                    },
                    "nativeSrc": "3697:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3697:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr_1",
                      "nativeSrc": "3685:8:136",
                      "nodeType": "YulTypedName",
                      "src": "3685:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3723:12:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3723:12:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3734:1:136",
                    "nodeType": "YulLiteral",
                    "src": "3734:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "3727:3:136",
                      "nodeType": "YulTypedName",
                      "src": "3727:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3801:136:136",
                    "nodeType": "YulBlock",
                    "src": "3801:136:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3822:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3822:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "3835:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3835:8:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "3829:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "3829:5:136"
                              },
                              "nativeSrc": "3829:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "3829:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3815:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3815:6:136"
                          },
                          "nativeSrc": "3815:30:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3815:30:136"
                        },
                        "nativeSrc": "3815:30:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3815:30:136"
                      },
                      {
                        "nativeSrc": "3858:25:136",
                        "nodeType": "YulAssignment",
                        "src": "3858:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3871:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3871:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3878:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3878:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3867:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3867:3:136"
                          },
                          "nativeSrc": "3867:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3867:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "3858:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3858:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3896:31:136",
                        "nodeType": "YulAssignment",
                        "src": "3896:31:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr_1",
                              "nativeSrc": "3912:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "3912:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3922:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3922:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3908:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3908:3:136"
                          },
                          "nativeSrc": "3908:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3908:19:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "3896:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "3896:8:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "3755:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "3755:3:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "3760:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "3760:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3752:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3752:2:136"
                    },
                    "nativeSrc": "3752:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3752:17:136"
                  },
                  "nativeSrc": "3744:193:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3770:22:136",
                    "nodeType": "YulBlock",
                    "src": "3770:22:136",
                    "statements": [
                      {
                        "nativeSrc": "3772:18:136",
                        "nodeType": "YulAssignment",
                        "src": "3772:18:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "3783:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3783:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3788:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3788:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3779:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3779:3:136"
                          },
                          "nativeSrc": "3779:11:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3779:11:136"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "3772:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3772:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3748:3:136",
                    "nodeType": "YulBlock",
                    "src": "3748:3:136",
                    "statements": []
                  },
                  "src": "3744:193:136"
                },
                {
                  "nativeSrc": "3946:13:136",
                  "nodeType": "YulAssignment",
                  "src": "3946:13:136",
                  "value": {
                    "name": "pos_1",
                    "nativeSrc": "3954:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "3954:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "3946:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "3946:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "2565:1400:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2843:9:136",
                "nodeType": "YulTypedName",
                "src": "2843:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "2854:6:136",
                "nodeType": "YulTypedName",
                "src": "2854:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2862:6:136",
                "nodeType": "YulTypedName",
                "src": "2862:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2870:6:136",
                "nodeType": "YulTypedName",
                "src": "2870:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2881:4:136",
                "nodeType": "YulTypedName",
                "src": "2881:4:136",
                "type": ""
              }
            ],
            "src": "2565:1400:136"
          },
          {
            "body": {
              "nativeSrc": "4043:275:136",
              "nodeType": "YulBlock",
              "src": "4043:275:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4092:16:136",
                    "nodeType": "YulBlock",
                    "src": "4092:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4101:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4101:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4104:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4104:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4094:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4094:6:136"
                          },
                          "nativeSrc": "4094:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4094:12:136"
                        },
                        "nativeSrc": "4094:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4094:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4071:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4071:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4079:4:136",
                                "nodeType": "YulLiteral",
                                "src": "4079:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4067:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4067:3:136"
                            },
                            "nativeSrc": "4067:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4067:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "4086:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "4086:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4063:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4063:3:136"
                        },
                        "nativeSrc": "4063:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4063:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4056:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4056:6:136"
                    },
                    "nativeSrc": "4056:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4056:35:136"
                  },
                  "nativeSrc": "4053:55:136",
                  "nodeType": "YulIf",
                  "src": "4053:55:136"
                },
                {
                  "nativeSrc": "4117:30:136",
                  "nodeType": "YulAssignment",
                  "src": "4117:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4140:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4140:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4127:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4127:12:136"
                    },
                    "nativeSrc": "4127:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4127:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "4117:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4117:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4190:16:136",
                    "nodeType": "YulBlock",
                    "src": "4190:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4199:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4199:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4202:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4202:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4192:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4192:6:136"
                          },
                          "nativeSrc": "4192:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4192:12:136"
                        },
                        "nativeSrc": "4192:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4192:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "4162:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4162:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4170:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4170:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4159:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4159:2:136"
                    },
                    "nativeSrc": "4159:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4159:30:136"
                  },
                  "nativeSrc": "4156:50:136",
                  "nodeType": "YulIf",
                  "src": "4156:50:136"
                },
                {
                  "nativeSrc": "4215:29:136",
                  "nodeType": "YulAssignment",
                  "src": "4215:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4231:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4231:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4239:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4239:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4227:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4227:3:136"
                    },
                    "nativeSrc": "4227:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4227:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "4215:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "4215:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4296:16:136",
                    "nodeType": "YulBlock",
                    "src": "4296:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4305:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4305:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4308:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4308:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4298:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4298:6:136"
                          },
                          "nativeSrc": "4298:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4298:12:136"
                        },
                        "nativeSrc": "4298:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4298:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4267:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4267:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "4275:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4275:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4263:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4263:3:136"
                            },
                            "nativeSrc": "4263:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4263:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4284:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4284:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4259:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4259:3:136"
                        },
                        "nativeSrc": "4259:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4259:30:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "4291:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "4291:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4256:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4256:2:136"
                    },
                    "nativeSrc": "4256:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4256:39:136"
                  },
                  "nativeSrc": "4253:59:136",
                  "nodeType": "YulIf",
                  "src": "4253:59:136"
                }
              ]
            },
            "name": "abi_decode_string_calldata",
            "nativeSrc": "3970:348:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4006:6:136",
                "nodeType": "YulTypedName",
                "src": "4006:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "4014:3:136",
                "nodeType": "YulTypedName",
                "src": "4014:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "4022:8:136",
                "nodeType": "YulTypedName",
                "src": "4022:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "4032:6:136",
                "nodeType": "YulTypedName",
                "src": "4032:6:136",
                "type": ""
              }
            ],
            "src": "3970:348:136"
          },
          {
            "body": {
              "nativeSrc": "4368:86:136",
              "nodeType": "YulBlock",
              "src": "4368:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4432:16:136",
                    "nodeType": "YulBlock",
                    "src": "4432:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4441:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4441:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4444:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4444:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4434:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4434:6:136"
                          },
                          "nativeSrc": "4434:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4434:12:136"
                        },
                        "nativeSrc": "4434:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4434:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4391:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "4391:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4402:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "4402:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "4417:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "4417:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "4422:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "4422:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "4413:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "4413:3:136"
                                    },
                                    "nativeSrc": "4413:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "4413:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4426:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4426:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "4409:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4409:3:136"
                                },
                                "nativeSrc": "4409:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4409:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "4398:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4398:3:136"
                            },
                            "nativeSrc": "4398:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4398:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "4388:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4388:2:136"
                        },
                        "nativeSrc": "4388:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4388:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4381:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4381:6:136"
                    },
                    "nativeSrc": "4381:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4381:50:136"
                  },
                  "nativeSrc": "4378:70:136",
                  "nodeType": "YulIf",
                  "src": "4378:70:136"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "4323:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4357:5:136",
                "nodeType": "YulTypedName",
                "src": "4357:5:136",
                "type": ""
              }
            ],
            "src": "4323:131:136"
          },
          {
            "body": {
              "nativeSrc": "4551:283:136",
              "nodeType": "YulBlock",
              "src": "4551:283:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4600:16:136",
                    "nodeType": "YulBlock",
                    "src": "4600:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4609:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4609:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4612:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4612:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4602:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4602:6:136"
                          },
                          "nativeSrc": "4602:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4602:12:136"
                        },
                        "nativeSrc": "4602:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4602:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4579:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4579:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4587:4:136",
                                "nodeType": "YulLiteral",
                                "src": "4587:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4575:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4575:3:136"
                            },
                            "nativeSrc": "4575:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4575:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "4594:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "4594:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4571:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4571:3:136"
                        },
                        "nativeSrc": "4571:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4571:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4564:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4564:6:136"
                    },
                    "nativeSrc": "4564:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4564:35:136"
                  },
                  "nativeSrc": "4561:55:136",
                  "nodeType": "YulIf",
                  "src": "4561:55:136"
                },
                {
                  "nativeSrc": "4625:30:136",
                  "nodeType": "YulAssignment",
                  "src": "4625:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4648:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4648:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4635:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4635:12:136"
                    },
                    "nativeSrc": "4635:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4635:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "4625:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4625:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4698:16:136",
                    "nodeType": "YulBlock",
                    "src": "4698:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4707:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4707:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4710:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4710:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4700:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4700:6:136"
                          },
                          "nativeSrc": "4700:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4700:12:136"
                        },
                        "nativeSrc": "4700:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4700:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "4670:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4670:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4678:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4678:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4667:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4667:2:136"
                    },
                    "nativeSrc": "4667:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4667:30:136"
                  },
                  "nativeSrc": "4664:50:136",
                  "nodeType": "YulIf",
                  "src": "4664:50:136"
                },
                {
                  "nativeSrc": "4723:29:136",
                  "nodeType": "YulAssignment",
                  "src": "4723:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4739:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4739:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4747:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4747:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4735:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4735:3:136"
                    },
                    "nativeSrc": "4735:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4735:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "4723:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "4723:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4812:16:136",
                    "nodeType": "YulBlock",
                    "src": "4812:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4821:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4821:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4824:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4824:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4814:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4814:6:136"
                          },
                          "nativeSrc": "4814:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4814:12:136"
                        },
                        "nativeSrc": "4814:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4814:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4775:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4775:6:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4787:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4787:1:136",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "4790:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "4790:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4783:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4783:3:136"
                                },
                                "nativeSrc": "4783:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4783:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4771:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4771:3:136"
                            },
                            "nativeSrc": "4771:27:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4771:27:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4800:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4800:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4767:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4767:3:136"
                        },
                        "nativeSrc": "4767:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4767:38:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "4807:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "4807:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4764:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4764:2:136"
                    },
                    "nativeSrc": "4764:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4764:47:136"
                  },
                  "nativeSrc": "4761:67:136",
                  "nodeType": "YulIf",
                  "src": "4761:67:136"
                }
              ]
            },
            "name": "abi_decode_array_string_calldata_dyn_calldata",
            "nativeSrc": "4459:375:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4514:6:136",
                "nodeType": "YulTypedName",
                "src": "4514:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "4522:3:136",
                "nodeType": "YulTypedName",
                "src": "4522:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "4530:8:136",
                "nodeType": "YulTypedName",
                "src": "4530:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "4540:6:136",
                "nodeType": "YulTypedName",
                "src": "4540:6:136",
                "type": ""
              }
            ],
            "src": "4459:375:136"
          },
          {
            "body": {
              "nativeSrc": "5010:726:136",
              "nodeType": "YulBlock",
              "src": "5010:726:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5056:16:136",
                    "nodeType": "YulBlock",
                    "src": "5056:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5065:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5065:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5068:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5068:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5058:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5058:6:136"
                          },
                          "nativeSrc": "5058:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5058:12:136"
                        },
                        "nativeSrc": "5058:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5058:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5031:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "5031:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "5040:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5040:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5027:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5027:3:136"
                        },
                        "nativeSrc": "5027:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5027:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5052:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5052:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5023:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5023:3:136"
                    },
                    "nativeSrc": "5023:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5023:32:136"
                  },
                  "nativeSrc": "5020:52:136",
                  "nodeType": "YulIf",
                  "src": "5020:52:136"
                },
                {
                  "nativeSrc": "5081:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5081:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5108:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5108:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5095:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5095:12:136"
                    },
                    "nativeSrc": "5095:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5095:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "5085:6:136",
                      "nodeType": "YulTypedName",
                      "src": "5085:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5161:16:136",
                    "nodeType": "YulBlock",
                    "src": "5161:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5170:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5170:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5173:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5173:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5163:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5163:6:136"
                          },
                          "nativeSrc": "5163:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5163:12:136"
                        },
                        "nativeSrc": "5163:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5163:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5133:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5133:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5141:18:136",
                        "nodeType": "YulLiteral",
                        "src": "5141:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5130:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5130:2:136"
                    },
                    "nativeSrc": "5130:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5130:30:136"
                  },
                  "nativeSrc": "5127:50:136",
                  "nodeType": "YulIf",
                  "src": "5127:50:136"
                },
                {
                  "nativeSrc": "5186:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5186:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5243:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5243:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "5254:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5254:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5239:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5239:3:136"
                        },
                        "nativeSrc": "5239:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5239:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5263:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5263:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "5212:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "5212:26:136"
                    },
                    "nativeSrc": "5212:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5212:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "5190:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5190:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "5200:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5200:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5280:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5280:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "5290:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5290:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5280:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5280:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5307:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5307:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "5317:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5317:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "5307:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5307:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5334:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5334:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5364:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5364:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5375:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5375:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5360:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5360:3:136"
                        },
                        "nativeSrc": "5360:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5360:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5347:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5347:12:136"
                    },
                    "nativeSrc": "5347:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5347:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "5338:5:136",
                      "nodeType": "YulTypedName",
                      "src": "5338:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "5413:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "5413:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "5388:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "5388:24:136"
                    },
                    "nativeSrc": "5388:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5388:31:136"
                  },
                  "nativeSrc": "5388:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5388:31:136"
                },
                {
                  "nativeSrc": "5428:15:136",
                  "nodeType": "YulAssignment",
                  "src": "5428:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "5438:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "5438:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "5428:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5428:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5452:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5452:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5485:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5485:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5496:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5496:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5481:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5481:3:136"
                        },
                        "nativeSrc": "5481:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5481:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5468:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5468:12:136"
                    },
                    "nativeSrc": "5468:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5468:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "5456:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5456:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5545:16:136",
                    "nodeType": "YulBlock",
                    "src": "5545:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5554:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5554:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5557:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5557:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5547:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5547:6:136"
                          },
                          "nativeSrc": "5547:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5547:12:136"
                        },
                        "nativeSrc": "5547:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5547:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "5515:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "5515:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5525:18:136",
                        "nodeType": "YulLiteral",
                        "src": "5525:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5512:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5512:2:136"
                    },
                    "nativeSrc": "5512:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5512:32:136"
                  },
                  "nativeSrc": "5509:52:136",
                  "nodeType": "YulIf",
                  "src": "5509:52:136"
                },
                {
                  "nativeSrc": "5570:106:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5570:106:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5646:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5646:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "5657:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "5657:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5642:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5642:3:136"
                        },
                        "nativeSrc": "5642:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5642:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5668:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5668:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "5596:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "5596:45:136"
                    },
                    "nativeSrc": "5596:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5596:80:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "5574:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5574:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "5584:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5584:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5685:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5685:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "5695:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5695:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "5685:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5685:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5712:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5712:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "5722:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5722:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "5712:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5712:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "4839:897:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4944:9:136",
                "nodeType": "YulTypedName",
                "src": "4944:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "4955:7:136",
                "nodeType": "YulTypedName",
                "src": "4955:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "4967:6:136",
                "nodeType": "YulTypedName",
                "src": "4967:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "4975:6:136",
                "nodeType": "YulTypedName",
                "src": "4975:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "4983:6:136",
                "nodeType": "YulTypedName",
                "src": "4983:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "4991:6:136",
                "nodeType": "YulTypedName",
                "src": "4991:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "4999:6:136",
                "nodeType": "YulTypedName",
                "src": "4999:6:136",
                "type": ""
              }
            ],
            "src": "4839:897:136"
          },
          {
            "body": {
              "nativeSrc": "5940:178:136",
              "nodeType": "YulBlock",
              "src": "5940:178:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5957:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5957:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "5972:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5972:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5988:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5988:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5993:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "5993:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "5984:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "5984:3:136"
                                },
                                "nativeSrc": "5984:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "5984:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5997:1:136",
                                "nodeType": "YulLiteral",
                                "src": "5997:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "5980:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5980:3:136"
                            },
                            "nativeSrc": "5980:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5980:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5968:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5968:3:136"
                        },
                        "nativeSrc": "5968:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5968:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5950:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5950:6:136"
                    },
                    "nativeSrc": "5950:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5950:51:136"
                  },
                  "nativeSrc": "5950:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5950:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6021:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6021:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6032:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6032:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6017:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6017:3:136"
                        },
                        "nativeSrc": "6017:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6017:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6037:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6037:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6010:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6010:6:136"
                    },
                    "nativeSrc": "6010:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6010:30:136"
                  },
                  "nativeSrc": "6010:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6010:30:136"
                },
                {
                  "nativeSrc": "6049:63:136",
                  "nodeType": "YulAssignment",
                  "src": "6049:63:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "6085:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6085:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6097:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6097:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6108:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6108:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6093:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6093:3:136"
                        },
                        "nativeSrc": "6093:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6093:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_string_dyn",
                      "nativeSrc": "6057:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "6057:27:136"
                    },
                    "nativeSrc": "6057:55:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6057:55:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6049:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "6049:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "5741:377:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5901:9:136",
                "nodeType": "YulTypedName",
                "src": "5901:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5912:6:136",
                "nodeType": "YulTypedName",
                "src": "5912:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5920:6:136",
                "nodeType": "YulTypedName",
                "src": "5920:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5931:4:136",
                "nodeType": "YulTypedName",
                "src": "5931:4:136",
                "type": ""
              }
            ],
            "src": "5741:377:136"
          },
          {
            "body": {
              "nativeSrc": "6155:95:136",
              "nodeType": "YulBlock",
              "src": "6155:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6172:1:136",
                        "nodeType": "YulLiteral",
                        "src": "6172:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6179:3:136",
                            "nodeType": "YulLiteral",
                            "src": "6179:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6184:10:136",
                            "nodeType": "YulLiteral",
                            "src": "6184:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6175:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6175:3:136"
                        },
                        "nativeSrc": "6175:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6175:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6165:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6165:6:136"
                    },
                    "nativeSrc": "6165:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6165:31:136"
                  },
                  "nativeSrc": "6165:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6165:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6212:1:136",
                        "nodeType": "YulLiteral",
                        "src": "6212:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6215:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6215:4:136",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6205:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6205:6:136"
                    },
                    "nativeSrc": "6205:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6205:15:136"
                  },
                  "nativeSrc": "6205:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6205:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6236:1:136",
                        "nodeType": "YulLiteral",
                        "src": "6236:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6239:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6239:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6229:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6229:6:136"
                    },
                    "nativeSrc": "6229:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6229:15:136"
                  },
                  "nativeSrc": "6229:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6229:15:136"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6123:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "6123:127:136"
          },
          {
            "body": {
              "nativeSrc": "6301:211:136",
              "nodeType": "YulBlock",
              "src": "6301:211:136",
              "statements": [
                {
                  "nativeSrc": "6311:21:136",
                  "nodeType": "YulAssignment",
                  "src": "6311:21:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6327:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6327:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6321:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6321:5:136"
                    },
                    "nativeSrc": "6321:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6321:11:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "6311:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6311:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6341:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6341:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6363:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6363:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6371:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6371:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6359:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6359:3:136"
                    },
                    "nativeSrc": "6359:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6359:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6345:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6345:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6451:22:136",
                    "nodeType": "YulBlock",
                    "src": "6451:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6453:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6453:16:136"
                          },
                          "nativeSrc": "6453:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6453:18:136"
                        },
                        "nativeSrc": "6453:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6453:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6394:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6394:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6406:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6406:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6391:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6391:2:136"
                        },
                        "nativeSrc": "6391:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6391:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6430:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6430:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6442:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6442:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6427:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6427:2:136"
                        },
                        "nativeSrc": "6427:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6427:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6388:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6388:2:136"
                    },
                    "nativeSrc": "6388:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6388:62:136"
                  },
                  "nativeSrc": "6385:88:136",
                  "nodeType": "YulIf",
                  "src": "6385:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6489:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6489:4:136",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6495:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "6495:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6482:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6482:6:136"
                    },
                    "nativeSrc": "6482:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6482:24:136"
                  },
                  "nativeSrc": "6482:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6482:24:136"
                }
              ]
            },
            "name": "allocate_memory_6007",
            "nativeSrc": "6255:257:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "6290:6:136",
                "nodeType": "YulTypedName",
                "src": "6290:6:136",
                "type": ""
              }
            ],
            "src": "6255:257:136"
          },
          {
            "body": {
              "nativeSrc": "6563:207:136",
              "nodeType": "YulBlock",
              "src": "6563:207:136",
              "statements": [
                {
                  "nativeSrc": "6573:19:136",
                  "nodeType": "YulAssignment",
                  "src": "6573:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6589:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6589:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6583:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6583:5:136"
                    },
                    "nativeSrc": "6583:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6583:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "6573:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6573:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6601:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6601:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6623:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6623:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6631:4:136",
                        "nodeType": "YulLiteral",
                        "src": "6631:4:136",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6619:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6619:3:136"
                    },
                    "nativeSrc": "6619:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6619:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6605:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6605:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6711:22:136",
                    "nodeType": "YulBlock",
                    "src": "6711:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6713:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6713:16:136"
                          },
                          "nativeSrc": "6713:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6713:18:136"
                        },
                        "nativeSrc": "6713:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6713:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6654:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6654:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6666:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6666:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6651:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6651:2:136"
                        },
                        "nativeSrc": "6651:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6651:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6690:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6690:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6702:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6702:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6687:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6687:2:136"
                        },
                        "nativeSrc": "6687:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6687:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6648:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6648:2:136"
                    },
                    "nativeSrc": "6648:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6648:62:136"
                  },
                  "nativeSrc": "6645:88:136",
                  "nodeType": "YulIf",
                  "src": "6645:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6749:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6749:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6753:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "6753:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6742:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6742:6:136"
                    },
                    "nativeSrc": "6742:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6742:22:136"
                  },
                  "nativeSrc": "6742:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6742:22:136"
                }
              ]
            },
            "name": "allocate_memory_6011",
            "nativeSrc": "6517:253:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "6552:6:136",
                "nodeType": "YulTypedName",
                "src": "6552:6:136",
                "type": ""
              }
            ],
            "src": "6517:253:136"
          },
          {
            "body": {
              "nativeSrc": "6820:230:136",
              "nodeType": "YulBlock",
              "src": "6820:230:136",
              "statements": [
                {
                  "nativeSrc": "6830:19:136",
                  "nodeType": "YulAssignment",
                  "src": "6830:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6846:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6846:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6840:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6840:5:136"
                    },
                    "nativeSrc": "6840:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6840:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "6830:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6830:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6858:58:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6858:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6880:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6880:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6896:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "6896:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6902:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6902:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6892:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6892:3:136"
                            },
                            "nativeSrc": "6892:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6892:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6911:2:136",
                                "nodeType": "YulLiteral",
                                "src": "6911:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6907:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "6907:3:136"
                            },
                            "nativeSrc": "6907:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6907:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6888:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6888:3:136"
                        },
                        "nativeSrc": "6888:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6888:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6876:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6876:3:136"
                    },
                    "nativeSrc": "6876:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6876:40:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6862:10:136",
                      "nodeType": "YulTypedName",
                      "src": "6862:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6991:22:136",
                    "nodeType": "YulBlock",
                    "src": "6991:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6993:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "6993:16:136"
                          },
                          "nativeSrc": "6993:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6993:18:136"
                        },
                        "nativeSrc": "6993:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6993:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6934:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6934:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6946:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6946:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6931:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6931:2:136"
                        },
                        "nativeSrc": "6931:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6931:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6970:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "6970:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6982:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6982:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6967:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "6967:2:136"
                        },
                        "nativeSrc": "6967:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6967:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6928:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6928:2:136"
                    },
                    "nativeSrc": "6928:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6928:62:136"
                  },
                  "nativeSrc": "6925:88:136",
                  "nodeType": "YulIf",
                  "src": "6925:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7029:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7029:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "7033:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "7033:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7022:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7022:6:136"
                    },
                    "nativeSrc": "7022:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7022:22:136"
                  },
                  "nativeSrc": "7022:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7022:22:136"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "6775:275:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "size",
                "nativeSrc": "6800:4:136",
                "nodeType": "YulTypedName",
                "src": "6800:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "6809:6:136",
                "nodeType": "YulTypedName",
                "src": "6809:6:136",
                "type": ""
              }
            ],
            "src": "6775:275:136"
          },
          {
            "body": {
              "nativeSrc": "7112:129:136",
              "nodeType": "YulBlock",
              "src": "7112:129:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7156:22:136",
                    "nodeType": "YulBlock",
                    "src": "7156:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "7158:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "7158:16:136"
                          },
                          "nativeSrc": "7158:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7158:18:136"
                        },
                        "nativeSrc": "7158:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7158:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "7128:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7128:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7136:18:136",
                        "nodeType": "YulLiteral",
                        "src": "7136:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7125:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7125:2:136"
                    },
                    "nativeSrc": "7125:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7125:30:136"
                  },
                  "nativeSrc": "7122:56:136",
                  "nodeType": "YulIf",
                  "src": "7122:56:136"
                },
                {
                  "nativeSrc": "7187:48:136",
                  "nodeType": "YulAssignment",
                  "src": "7187:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "7207:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7207:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7215:2:136",
                                "nodeType": "YulLiteral",
                                "src": "7215:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7203:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7203:3:136"
                            },
                            "nativeSrc": "7203:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7203:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7224:2:136",
                                "nodeType": "YulLiteral",
                                "src": "7224:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "7220:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7220:3:136"
                            },
                            "nativeSrc": "7220:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7220:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7199:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7199:3:136"
                        },
                        "nativeSrc": "7199:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7199:29:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7230:4:136",
                        "nodeType": "YulLiteral",
                        "src": "7230:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7195:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7195:3:136"
                    },
                    "nativeSrc": "7195:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7195:40:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "7187:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "7187:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "7055:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "7092:6:136",
                "nodeType": "YulTypedName",
                "src": "7092:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "7103:4:136",
                "nodeType": "YulTypedName",
                "src": "7103:4:136",
                "type": ""
              }
            ],
            "src": "7055:186:136"
          },
          {
            "body": {
              "nativeSrc": "7320:262:136",
              "nodeType": "YulBlock",
              "src": "7320:262:136",
              "statements": [
                {
                  "nativeSrc": "7330:61:136",
                  "nodeType": "YulAssignment",
                  "src": "7330:61:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "7383:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7383:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_bytes",
                          "nativeSrc": "7355:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "7355:27:136"
                        },
                        "nativeSrc": "7355:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7355:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "7339:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "7339:15:136"
                    },
                    "nativeSrc": "7339:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7339:52:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "7330:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7330:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "array",
                        "nativeSrc": "7407:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "7407:5:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7414:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7414:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7400:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7400:6:136"
                    },
                    "nativeSrc": "7400:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7400:21:136"
                  },
                  "nativeSrc": "7400:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7400:21:136"
                },
                {
                  "body": {
                    "nativeSrc": "7459:16:136",
                    "nodeType": "YulBlock",
                    "src": "7459:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7468:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7468:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7471:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7471:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7461:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7461:6:136"
                          },
                          "nativeSrc": "7461:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7461:12:136"
                        },
                        "nativeSrc": "7461:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7461:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "7440:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7440:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "7445:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7445:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7436:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7436:3:136"
                        },
                        "nativeSrc": "7436:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7436:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "7454:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "7454:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7433:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7433:2:136"
                    },
                    "nativeSrc": "7433:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7433:25:136"
                  },
                  "nativeSrc": "7430:45:136",
                  "nodeType": "YulIf",
                  "src": "7430:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "array",
                            "nativeSrc": "7501:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "7501:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7508:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7508:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7497:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7497:3:136"
                        },
                        "nativeSrc": "7497:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7497:16:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "7515:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "7515:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7520:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7520:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "7484:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7484:12:136"
                    },
                    "nativeSrc": "7484:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7484:43:136"
                  },
                  "nativeSrc": "7484:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7484:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "array",
                                "nativeSrc": "7551:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "7551:5:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "7558:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7558:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7547:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7547:3:136"
                            },
                            "nativeSrc": "7547:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7547:18:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7567:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7567:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7543:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7543:3:136"
                        },
                        "nativeSrc": "7543:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7543:29:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7574:1:136",
                        "nodeType": "YulLiteral",
                        "src": "7574:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7536:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7536:6:136"
                    },
                    "nativeSrc": "7536:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7536:40:136"
                  },
                  "nativeSrc": "7536:40:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7536:40:136"
                }
              ]
            },
            "name": "abi_decode_available_length_bytes",
            "nativeSrc": "7246:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "7289:3:136",
                "nodeType": "YulTypedName",
                "src": "7289:3:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "7294:6:136",
                "nodeType": "YulTypedName",
                "src": "7294:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7302:3:136",
                "nodeType": "YulTypedName",
                "src": "7302:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "7310:5:136",
                "nodeType": "YulTypedName",
                "src": "7310:5:136",
                "type": ""
              }
            ],
            "src": "7246:336:136"
          },
          {
            "body": {
              "nativeSrc": "7666:370:136",
              "nodeType": "YulBlock",
              "src": "7666:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7712:16:136",
                    "nodeType": "YulBlock",
                    "src": "7712:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7721:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7721:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7724:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7724:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7714:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7714:6:136"
                          },
                          "nativeSrc": "7714:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7714:12:136"
                        },
                        "nativeSrc": "7714:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7714:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7687:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7687:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7696:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7696:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7683:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7683:3:136"
                        },
                        "nativeSrc": "7683:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7683:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7708:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7708:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7679:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7679:3:136"
                    },
                    "nativeSrc": "7679:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7679:32:136"
                  },
                  "nativeSrc": "7676:52:136",
                  "nodeType": "YulIf",
                  "src": "7676:52:136"
                },
                {
                  "nativeSrc": "7737:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7737:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7764:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7764:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7751:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7751:12:136"
                    },
                    "nativeSrc": "7751:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7751:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "7741:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7741:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7817:16:136",
                    "nodeType": "YulBlock",
                    "src": "7817:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7826:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7826:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7829:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7829:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7819:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7819:6:136"
                          },
                          "nativeSrc": "7819:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7819:12:136"
                        },
                        "nativeSrc": "7819:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7819:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "7789:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7789:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7797:18:136",
                        "nodeType": "YulLiteral",
                        "src": "7797:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7786:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7786:2:136"
                    },
                    "nativeSrc": "7786:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7786:30:136"
                  },
                  "nativeSrc": "7783:50:136",
                  "nodeType": "YulIf",
                  "src": "7783:50:136"
                },
                {
                  "nativeSrc": "7842:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7842:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7856:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7856:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7867:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7867:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7852:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7852:3:136"
                    },
                    "nativeSrc": "7852:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7852:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "7846:2:136",
                      "nodeType": "YulTypedName",
                      "src": "7846:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7922:16:136",
                    "nodeType": "YulBlock",
                    "src": "7922:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7931:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7931:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7934:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7934:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7924:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7924:6:136"
                          },
                          "nativeSrc": "7924:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7924:12:136"
                        },
                        "nativeSrc": "7924:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7924:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "7901:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "7901:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7905:4:136",
                                "nodeType": "YulLiteral",
                                "src": "7905:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7897:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7897:3:136"
                            },
                            "nativeSrc": "7897:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7897:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7912:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7912:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7893:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7893:3:136"
                        },
                        "nativeSrc": "7893:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7893:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7886:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7886:6:136"
                    },
                    "nativeSrc": "7886:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7886:35:136"
                  },
                  "nativeSrc": "7883:55:136",
                  "nodeType": "YulIf",
                  "src": "7883:55:136"
                },
                {
                  "nativeSrc": "7947:83:136",
                  "nodeType": "YulAssignment",
                  "src": "7947:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "7995:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "7995:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7999:2:136",
                            "nodeType": "YulLiteral",
                            "src": "7999:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7991:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7991:3:136"
                        },
                        "nativeSrc": "7991:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7991:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "8017:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "8017:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "8004:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "8004:12:136"
                        },
                        "nativeSrc": "8004:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8004:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8022:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "8022:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "7957:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "7957:33:136"
                    },
                    "nativeSrc": "7957:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7957:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7947:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7947:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "7587:449:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7632:9:136",
                "nodeType": "YulTypedName",
                "src": "7632:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7643:7:136",
                "nodeType": "YulTypedName",
                "src": "7643:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7655:6:136",
                "nodeType": "YulTypedName",
                "src": "7655:6:136",
                "type": ""
              }
            ],
            "src": "7587:449:136"
          },
          {
            "body": {
              "nativeSrc": "8142:102:136",
              "nodeType": "YulBlock",
              "src": "8142:102:136",
              "statements": [
                {
                  "nativeSrc": "8152:26:136",
                  "nodeType": "YulAssignment",
                  "src": "8152:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8164:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8164:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8175:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8175:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8160:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8160:3:136"
                    },
                    "nativeSrc": "8160:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8160:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8152:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8152:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8194:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8194:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8209:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8209:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "8225:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "8225:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "8230:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "8230:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "8221:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "8221:3:136"
                                },
                                "nativeSrc": "8221:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "8221:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8234:1:136",
                                "nodeType": "YulLiteral",
                                "src": "8234:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "8217:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "8217:3:136"
                            },
                            "nativeSrc": "8217:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8217:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8205:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8205:3:136"
                        },
                        "nativeSrc": "8205:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8205:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8187:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8187:6:136"
                    },
                    "nativeSrc": "8187:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8187:51:136"
                  },
                  "nativeSrc": "8187:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8187:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "8041:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8111:9:136",
                "nodeType": "YulTypedName",
                "src": "8111:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8122:6:136",
                "nodeType": "YulTypedName",
                "src": "8122:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8133:4:136",
                "nodeType": "YulTypedName",
                "src": "8133:4:136",
                "type": ""
              }
            ],
            "src": "8041:203:136"
          },
          {
            "body": {
              "nativeSrc": "8410:271:136",
              "nodeType": "YulBlock",
              "src": "8410:271:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8427:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8427:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8438:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8438:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8420:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8420:6:136"
                    },
                    "nativeSrc": "8420:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8420:21:136"
                  },
                  "nativeSrc": "8420:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8420:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8461:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8461:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8472:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8472:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8457:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8457:3:136"
                        },
                        "nativeSrc": "8457:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8457:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "8487:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "8487:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "8481:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "8481:5:136"
                            },
                            "nativeSrc": "8481:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8481:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8496:4:136",
                            "nodeType": "YulLiteral",
                            "src": "8496:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8477:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8477:3:136"
                        },
                        "nativeSrc": "8477:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8477:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8450:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8450:6:136"
                    },
                    "nativeSrc": "8450:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8450:52:136"
                  },
                  "nativeSrc": "8450:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8450:52:136"
                },
                {
                  "nativeSrc": "8511:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8511:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8541:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8541:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8549:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8549:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8537:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8537:3:136"
                        },
                        "nativeSrc": "8537:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8537:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8531:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "8531:5:136"
                    },
                    "nativeSrc": "8531:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8531:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "8515:12:136",
                      "nodeType": "YulTypedName",
                      "src": "8515:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8573:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8573:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8584:4:136",
                            "nodeType": "YulLiteral",
                            "src": "8584:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8569:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8569:3:136"
                        },
                        "nativeSrc": "8569:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8569:20:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8591:4:136",
                        "nodeType": "YulLiteral",
                        "src": "8591:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8562:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8562:6:136"
                    },
                    "nativeSrc": "8562:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8562:34:136"
                  },
                  "nativeSrc": "8562:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8562:34:136"
                },
                {
                  "nativeSrc": "8605:70:136",
                  "nodeType": "YulAssignment",
                  "src": "8605:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "8642:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "8642:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8660:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8660:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8671:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8671:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8656:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8656:3:136"
                        },
                        "nativeSrc": "8656:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8656:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "8613:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "8613:28:136"
                    },
                    "nativeSrc": "8613:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8613:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8605:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8605:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$28705_memory_ptr__to_t_struct$_ResultError_$28705_memory_ptr__fromStack_reversed",
            "nativeSrc": "8249:432:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8379:9:136",
                "nodeType": "YulTypedName",
                "src": "8379:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8390:6:136",
                "nodeType": "YulTypedName",
                "src": "8390:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8401:4:136",
                "nodeType": "YulTypedName",
                "src": "8401:4:136",
                "type": ""
              }
            ],
            "src": "8249:432:136"
          },
          {
            "body": {
              "nativeSrc": "8805:110:136",
              "nodeType": "YulBlock",
              "src": "8805:110:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8822:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8822:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8833:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8833:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8815:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8815:6:136"
                    },
                    "nativeSrc": "8815:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8815:21:136"
                  },
                  "nativeSrc": "8815:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8815:21:136"
                },
                {
                  "nativeSrc": "8845:64:136",
                  "nodeType": "YulAssignment",
                  "src": "8845:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8882:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8882:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8894:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8894:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8905:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8905:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8890:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8890:3:136"
                        },
                        "nativeSrc": "8890:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8890:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "8853:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "8853:28:136"
                    },
                    "nativeSrc": "8853:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8853:56:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8845:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "8845:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "8686:229:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8774:9:136",
                "nodeType": "YulTypedName",
                "src": "8774:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8785:6:136",
                "nodeType": "YulTypedName",
                "src": "8785:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8796:4:136",
                "nodeType": "YulTypedName",
                "src": "8796:4:136",
                "type": ""
              }
            ],
            "src": "8686:229:136"
          },
          {
            "body": {
              "nativeSrc": "9021:76:136",
              "nodeType": "YulBlock",
              "src": "9021:76:136",
              "statements": [
                {
                  "nativeSrc": "9031:26:136",
                  "nodeType": "YulAssignment",
                  "src": "9031:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9043:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9043:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9054:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9054:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9039:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9039:3:136"
                    },
                    "nativeSrc": "9039:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9039:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9031:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9031:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9073:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9073:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "9084:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9084:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9066:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9066:6:136"
                    },
                    "nativeSrc": "9066:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9066:25:136"
                  },
                  "nativeSrc": "9066:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9066:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "8920:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8990:9:136",
                "nodeType": "YulTypedName",
                "src": "8990:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9001:6:136",
                "nodeType": "YulTypedName",
                "src": "9001:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9012:4:136",
                "nodeType": "YulTypedName",
                "src": "9012:4:136",
                "type": ""
              }
            ],
            "src": "8920:177:136"
          },
          {
            "body": {
              "nativeSrc": "9197:92:136",
              "nodeType": "YulBlock",
              "src": "9197:92:136",
              "statements": [
                {
                  "nativeSrc": "9207:26:136",
                  "nodeType": "YulAssignment",
                  "src": "9207:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9219:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9219:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9230:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9230:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9215:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9215:3:136"
                    },
                    "nativeSrc": "9215:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9215:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9207:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9207:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9249:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9249:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "9274:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9274:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "9267:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "9267:6:136"
                            },
                            "nativeSrc": "9267:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9267:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "9260:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "9260:6:136"
                        },
                        "nativeSrc": "9260:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9260:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9242:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9242:6:136"
                    },
                    "nativeSrc": "9242:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9242:41:136"
                  },
                  "nativeSrc": "9242:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9242:41:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "9102:187:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9166:9:136",
                "nodeType": "YulTypedName",
                "src": "9166:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9177:6:136",
                "nodeType": "YulTypedName",
                "src": "9177:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9188:4:136",
                "nodeType": "YulTypedName",
                "src": "9188:4:136",
                "type": ""
              }
            ],
            "src": "9102:187:136"
          },
          {
            "body": {
              "nativeSrc": "9457:449:136",
              "nodeType": "YulBlock",
              "src": "9457:449:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9474:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9474:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9485:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9485:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9467:6:136"
                    },
                    "nativeSrc": "9467:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9467:21:136"
                  },
                  "nativeSrc": "9467:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9467:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9508:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9508:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9519:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9519:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9504:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9504:3:136"
                        },
                        "nativeSrc": "9504:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9504:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "9534:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9534:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "9528:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "9528:5:136"
                            },
                            "nativeSrc": "9528:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9528:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9551:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9551:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9556:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9556:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "9547:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "9547:3:136"
                                },
                                "nativeSrc": "9547:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "9547:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9560:1:136",
                                "nodeType": "YulLiteral",
                                "src": "9560:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "9543:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9543:3:136"
                            },
                            "nativeSrc": "9543:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9543:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9524:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9524:3:136"
                        },
                        "nativeSrc": "9524:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9524:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9497:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9497:6:136"
                    },
                    "nativeSrc": "9497:67:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9497:67:136"
                  },
                  "nativeSrc": "9497:67:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9497:67:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9584:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9584:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9595:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9595:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9580:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9580:3:136"
                        },
                        "nativeSrc": "9580:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9580:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "9614:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "9614:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9622:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9622:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "9610:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "9610:3:136"
                                },
                                "nativeSrc": "9610:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "9610:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "9604:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "9604:5:136"
                            },
                            "nativeSrc": "9604:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9604:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9628:8:136",
                            "nodeType": "YulLiteral",
                            "src": "9628:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9600:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9600:3:136"
                        },
                        "nativeSrc": "9600:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9600:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9573:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9573:6:136"
                    },
                    "nativeSrc": "9573:65:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9573:65:136"
                  },
                  "nativeSrc": "9573:65:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9573:65:136"
                },
                {
                  "nativeSrc": "9647:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9647:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9677:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9677:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9685:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9685:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9673:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9673:3:136"
                        },
                        "nativeSrc": "9673:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9673:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9667:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9667:5:136"
                    },
                    "nativeSrc": "9667:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9667:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "9651:12:136",
                      "nodeType": "YulTypedName",
                      "src": "9651:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9709:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9709:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9720:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9720:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9705:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9705:3:136"
                        },
                        "nativeSrc": "9705:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9705:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9725:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9725:4:136",
                        "type": "",
                        "value": "0x80"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9698:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9698:6:136"
                    },
                    "nativeSrc": "9698:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9698:32:136"
                  },
                  "nativeSrc": "9698:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9698:32:136"
                },
                {
                  "nativeSrc": "9739:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9739:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "9782:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "9782:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9800:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9800:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9811:3:136",
                            "nodeType": "YulLiteral",
                            "src": "9811:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9796:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9796:3:136"
                        },
                        "nativeSrc": "9796:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9796:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "9753:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "9753:28:136"
                    },
                    "nativeSrc": "9753:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9753:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9743:6:136",
                      "nodeType": "YulTypedName",
                      "src": "9743:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9836:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9836:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9847:4:136",
                            "nodeType": "YulLiteral",
                            "src": "9847:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9832:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9832:3:136"
                        },
                        "nativeSrc": "9832:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9832:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "9864:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9864:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9872:2:136",
                                "nodeType": "YulLiteral",
                                "src": "9872:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9860:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9860:3:136"
                            },
                            "nativeSrc": "9860:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9860:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "9854:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "9854:5:136"
                        },
                        "nativeSrc": "9854:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9854:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9825:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9825:6:136"
                    },
                    "nativeSrc": "9825:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9825:52:136"
                  },
                  "nativeSrc": "9825:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9825:52:136"
                },
                {
                  "nativeSrc": "9886:14:136",
                  "nodeType": "YulAssignment",
                  "src": "9886:14:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9894:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "9894:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9886:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9886:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_QueryRequest_$37351_memory_ptr__to_t_struct$_QueryRequest_$37351_memory_ptr__fromStack_reversed",
            "nativeSrc": "9294:612:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9426:9:136",
                "nodeType": "YulTypedName",
                "src": "9426:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9437:6:136",
                "nodeType": "YulTypedName",
                "src": "9437:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9448:4:136",
                "nodeType": "YulTypedName",
                "src": "9448:4:136",
                "type": ""
              }
            ],
            "src": "9294:612:136"
          },
          {
            "body": {
              "nativeSrc": "10008:87:136",
              "nodeType": "YulBlock",
              "src": "10008:87:136",
              "statements": [
                {
                  "nativeSrc": "10018:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10018:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10030:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10030:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10041:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10041:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10026:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10026:3:136"
                    },
                    "nativeSrc": "10026:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10026:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10018:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10018:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10060:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10060:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10075:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10075:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10083:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10083:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10071:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10071:3:136"
                        },
                        "nativeSrc": "10071:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10071:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10053:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10053:6:136"
                    },
                    "nativeSrc": "10053:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10053:36:136"
                  },
                  "nativeSrc": "10053:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10053:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
            "nativeSrc": "9911:184:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9977:9:136",
                "nodeType": "YulTypedName",
                "src": "9977:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9988:6:136",
                "nodeType": "YulTypedName",
                "src": "9988:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9999:4:136",
                "nodeType": "YulTypedName",
                "src": "9999:4:136",
                "type": ""
              }
            ],
            "src": "9911:184:136"
          },
          {
            "body": {
              "nativeSrc": "10170:177:136",
              "nodeType": "YulBlock",
              "src": "10170:177:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10216:16:136",
                    "nodeType": "YulBlock",
                    "src": "10216:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10225:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10225:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10228:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10228:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10218:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10218:6:136"
                          },
                          "nativeSrc": "10218:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10218:12:136"
                        },
                        "nativeSrc": "10218:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10218:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "10191:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "10191:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "10200:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10200:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "10187:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10187:3:136"
                        },
                        "nativeSrc": "10187:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10187:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10212:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10212:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "10183:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10183:3:136"
                    },
                    "nativeSrc": "10183:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10183:32:136"
                  },
                  "nativeSrc": "10180:52:136",
                  "nodeType": "YulIf",
                  "src": "10180:52:136"
                },
                {
                  "nativeSrc": "10241:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10241:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10267:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10267:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10254:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "10254:12:136"
                    },
                    "nativeSrc": "10254:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10254:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "10245:5:136",
                      "nodeType": "YulTypedName",
                      "src": "10245:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "10311:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "10311:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "10286:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "10286:24:136"
                    },
                    "nativeSrc": "10286:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10286:31:136"
                  },
                  "nativeSrc": "10286:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10286:31:136"
                },
                {
                  "nativeSrc": "10326:15:136",
                  "nodeType": "YulAssignment",
                  "src": "10326:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "10336:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "10336:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "10326:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10326:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "10100:247:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10136:9:136",
                "nodeType": "YulTypedName",
                "src": "10136:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "10147:7:136",
                "nodeType": "YulTypedName",
                "src": "10147:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "10159:6:136",
                "nodeType": "YulTypedName",
                "src": "10159:6:136",
                "type": ""
              }
            ],
            "src": "10100:247:136"
          },
          {
            "body": {
              "nativeSrc": "10511:433:136",
              "nodeType": "YulBlock",
              "src": "10511:433:136",
              "statements": [
                {
                  "nativeSrc": "10521:27:136",
                  "nodeType": "YulAssignment",
                  "src": "10521:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10533:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10533:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10544:3:136",
                        "nodeType": "YulLiteral",
                        "src": "10544:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10529:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10529:3:136"
                    },
                    "nativeSrc": "10529:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10529:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10521:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10521:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10564:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10564:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "10585:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "10585:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10579:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10579:5:136"
                            },
                            "nativeSrc": "10579:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10579:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10594:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10594:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10575:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10575:3:136"
                        },
                        "nativeSrc": "10575:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10575:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10557:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10557:6:136"
                    },
                    "nativeSrc": "10557:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10557:43:136"
                  },
                  "nativeSrc": "10557:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10557:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10620:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10620:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10631:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10631:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10616:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10616:3:136"
                        },
                        "nativeSrc": "10616:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10616:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "10652:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10652:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10660:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10660:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "10648:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10648:3:136"
                                },
                                "nativeSrc": "10648:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10648:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10642:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10642:5:136"
                            },
                            "nativeSrc": "10642:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10642:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10668:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10668:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10638:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10638:3:136"
                        },
                        "nativeSrc": "10638:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10638:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10609:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10609:6:136"
                    },
                    "nativeSrc": "10609:65:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10609:65:136"
                  },
                  "nativeSrc": "10609:65:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10609:65:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10694:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10694:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10705:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10705:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10690:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10690:3:136"
                        },
                        "nativeSrc": "10690:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10690:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "10726:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10726:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10734:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10734:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "10722:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10722:3:136"
                                },
                                "nativeSrc": "10722:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10722:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10716:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10716:5:136"
                            },
                            "nativeSrc": "10716:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10716:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10742:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10742:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10712:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10712:3:136"
                        },
                        "nativeSrc": "10712:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10712:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10683:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10683:6:136"
                    },
                    "nativeSrc": "10683:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10683:79:136"
                  },
                  "nativeSrc": "10683:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10683:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10782:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10782:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10793:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10793:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10778:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10778:3:136"
                        },
                        "nativeSrc": "10778:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10778:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "10814:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10814:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10822:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10822:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "10810:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10810:3:136"
                                },
                                "nativeSrc": "10810:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10810:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10804:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10804:5:136"
                            },
                            "nativeSrc": "10804:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10804:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10830:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10830:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10800:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10800:3:136"
                        },
                        "nativeSrc": "10800:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10800:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10771:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10771:6:136"
                    },
                    "nativeSrc": "10771:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10771:79:136"
                  },
                  "nativeSrc": "10771:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10771:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10870:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10870:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10881:4:136",
                            "nodeType": "YulLiteral",
                            "src": "10881:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10866:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10866:3:136"
                        },
                        "nativeSrc": "10866:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10866:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "10902:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10902:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10910:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10910:4:136",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "10898:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10898:3:136"
                                },
                                "nativeSrc": "10898:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10898:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "10892:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10892:5:136"
                            },
                            "nativeSrc": "10892:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10892:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10918:18:136",
                            "nodeType": "YulLiteral",
                            "src": "10918:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10888:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10888:3:136"
                        },
                        "nativeSrc": "10888:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10888:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10859:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10859:6:136"
                    },
                    "nativeSrc": "10859:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10859:79:136"
                  },
                  "nativeSrc": "10859:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10859:79:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_RadonSLAv1_$29141_memory_ptr__to_t_struct$_RadonSLAv1_$29141_memory_ptr__fromStack_reversed",
            "nativeSrc": "10352:592:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10480:9:136",
                "nodeType": "YulTypedName",
                "src": "10480:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10491:6:136",
                "nodeType": "YulTypedName",
                "src": "10491:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10502:4:136",
                "nodeType": "YulTypedName",
                "src": "10502:4:136",
                "type": ""
              }
            ],
            "src": "10352:592:136"
          },
          {
            "body": {
              "nativeSrc": "11083:102:136",
              "nodeType": "YulBlock",
              "src": "11083:102:136",
              "statements": [
                {
                  "nativeSrc": "11093:26:136",
                  "nodeType": "YulAssignment",
                  "src": "11093:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11105:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11105:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11116:2:136",
                        "nodeType": "YulLiteral",
                        "src": "11116:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11101:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11101:3:136"
                    },
                    "nativeSrc": "11101:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11101:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11093:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "11093:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11135:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11135:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11150:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11150:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11166:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11166:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "11171:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "11171:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "11162:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11162:3:136"
                                },
                                "nativeSrc": "11162:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "11162:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11175:1:136",
                                "nodeType": "YulLiteral",
                                "src": "11175:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "11158:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11158:3:136"
                            },
                            "nativeSrc": "11158:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11158:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11146:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11146:3:136"
                        },
                        "nativeSrc": "11146:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11146:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11128:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11128:6:136"
                    },
                    "nativeSrc": "11128:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11128:51:136"
                  },
                  "nativeSrc": "11128:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11128:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitOracleRadonRegistry_$27394__to_t_address__fromStack_reversed",
            "nativeSrc": "10949:236:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11052:9:136",
                "nodeType": "YulTypedName",
                "src": "11052:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11063:6:136",
                "nodeType": "YulTypedName",
                "src": "11063:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11074:4:136",
                "nodeType": "YulTypedName",
                "src": "11074:4:136",
                "type": ""
              }
            ],
            "src": "10949:236:136"
          },
          {
            "body": {
              "nativeSrc": "11222:95:136",
              "nodeType": "YulBlock",
              "src": "11222:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "11239:1:136",
                        "nodeType": "YulLiteral",
                        "src": "11239:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "11246:3:136",
                            "nodeType": "YulLiteral",
                            "src": "11246:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11251:10:136",
                            "nodeType": "YulLiteral",
                            "src": "11251:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "11242:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11242:3:136"
                        },
                        "nativeSrc": "11242:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11242:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11232:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11232:6:136"
                    },
                    "nativeSrc": "11232:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11232:31:136"
                  },
                  "nativeSrc": "11232:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11232:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "11279:1:136",
                        "nodeType": "YulLiteral",
                        "src": "11279:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11282:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11282:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11272:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11272:6:136"
                    },
                    "nativeSrc": "11272:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11272:15:136"
                  },
                  "nativeSrc": "11272:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11272:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "11303:1:136",
                        "nodeType": "YulLiteral",
                        "src": "11303:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11306:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11306:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "11296:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11296:6:136"
                    },
                    "nativeSrc": "11296:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11296:15:136"
                  },
                  "nativeSrc": "11296:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11296:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "11190:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "11190:127:136"
          },
          {
            "body": {
              "nativeSrc": "11385:89:136",
              "nodeType": "YulBlock",
              "src": "11385:89:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11419:22:136",
                    "nodeType": "YulBlock",
                    "src": "11419:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11421:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "11421:16:136"
                          },
                          "nativeSrc": "11421:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11421:18:136"
                        },
                        "nativeSrc": "11421:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11421:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11408:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11408:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11415:1:136",
                            "nodeType": "YulLiteral",
                            "src": "11415:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11405:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "11405:2:136"
                        },
                        "nativeSrc": "11405:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11405:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11398:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11398:6:136"
                    },
                    "nativeSrc": "11398:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11398:20:136"
                  },
                  "nativeSrc": "11395:46:136",
                  "nodeType": "YulIf",
                  "src": "11395:46:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11457:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11457:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11462:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11462:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11450:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11450:6:136"
                    },
                    "nativeSrc": "11450:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11450:18:136"
                  },
                  "nativeSrc": "11450:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11450:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_RadonRetrievalMethods",
            "nativeSrc": "11322:152:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11369:5:136",
                "nodeType": "YulTypedName",
                "src": "11369:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11376:3:136",
                "nodeType": "YulTypedName",
                "src": "11376:3:136",
                "type": ""
              }
            ],
            "src": "11322:152:136"
          },
          {
            "body": {
              "nativeSrc": "11535:90:136",
              "nodeType": "YulBlock",
              "src": "11535:90:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11570:22:136",
                    "nodeType": "YulBlock",
                    "src": "11570:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11572:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "11572:16:136"
                          },
                          "nativeSrc": "11572:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11572:18:136"
                        },
                        "nativeSrc": "11572:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11572:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11558:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11558:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11565:2:136",
                            "nodeType": "YulLiteral",
                            "src": "11565:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11555:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "11555:2:136"
                        },
                        "nativeSrc": "11555:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11555:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11548:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11548:6:136"
                    },
                    "nativeSrc": "11548:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11548:21:136"
                  },
                  "nativeSrc": "11545:47:136",
                  "nodeType": "YulIf",
                  "src": "11545:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11608:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11608:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11613:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11613:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11601:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11601:6:136"
                    },
                    "nativeSrc": "11601:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11601:18:136"
                  },
                  "nativeSrc": "11601:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11601:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_RadonDataTypes",
            "nativeSrc": "11479:146:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11519:5:136",
                "nodeType": "YulTypedName",
                "src": "11519:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11526:3:136",
                "nodeType": "YulTypedName",
                "src": "11526:3:136",
                "type": ""
              }
            ],
            "src": "11479:146:136"
          },
          {
            "body": {
              "nativeSrc": "11696:979:136",
              "nodeType": "YulBlock",
              "src": "11696:979:136",
              "statements": [
                {
                  "nativeSrc": "11706:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11706:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11719:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "11719:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "11710:5:136",
                      "nodeType": "YulTypedName",
                      "src": "11710:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11731:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11731:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11751:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11751:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11745:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "11745:5:136"
                    },
                    "nativeSrc": "11745:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11745:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11735:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11735:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11773:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11773:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11778:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11778:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11766:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11766:6:136"
                    },
                    "nativeSrc": "11766:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11766:19:136"
                  },
                  "nativeSrc": "11766:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11766:19:136"
                },
                {
                  "nativeSrc": "11794:21:136",
                  "nodeType": "YulAssignment",
                  "src": "11794:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11805:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11805:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11810:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11810:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11801:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11801:3:136"
                    },
                    "nativeSrc": "11801:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11801:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11794:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11794:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11824:49:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11824:49:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "11844:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11844:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "11855:1:136",
                                "nodeType": "YulLiteral",
                                "src": "11855:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "11858:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "11858:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "11851:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11851:3:136"
                            },
                            "nativeSrc": "11851:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11851:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11840:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11840:3:136"
                        },
                        "nativeSrc": "11840:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11840:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11868:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11868:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11836:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11836:3:136"
                    },
                    "nativeSrc": "11836:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11836:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "11828:4:136",
                      "nodeType": "YulTypedName",
                      "src": "11828:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11882:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11882:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11900:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "11900:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11907:4:136",
                        "nodeType": "YulLiteral",
                        "src": "11907:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11896:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11896:3:136"
                    },
                    "nativeSrc": "11896:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11896:16:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11886:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11886:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11921:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11921:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11930:1:136",
                    "nodeType": "YulLiteral",
                    "src": "11930:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11925:1:136",
                      "nodeType": "YulTypedName",
                      "src": "11925:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11989:660:136",
                    "nodeType": "YulBlock",
                    "src": "11989:660:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "12010:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12010:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "12023:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12023:4:136"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "12029:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12029:5:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "12019:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12019:3:136"
                                  },
                                  "nativeSrc": "12019:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "12019:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "12041:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "12041:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "12037:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12037:3:136"
                                  },
                                  "nativeSrc": "12037:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "12037:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "12015:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "12015:3:136"
                              },
                              "nativeSrc": "12015:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "12015:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "12003:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12003:6:136"
                          },
                          "nativeSrc": "12003:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12003:43:136"
                        },
                        "nativeSrc": "12003:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12003:43:136"
                      },
                      {
                        "nativeSrc": "12059:23:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12059:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "12075:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "12075:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "12069:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "12069:5:136"
                          },
                          "nativeSrc": "12069:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12069:13:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "12063:2:136",
                            "nodeType": "YulTypedName",
                            "src": "12063:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12095:17:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12095:17:136",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "12108:4:136",
                          "nodeType": "YulIdentifier",
                          "src": "12108:4:136"
                        },
                        "variables": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "12099:5:136",
                            "nodeType": "YulTypedName",
                            "src": "12099:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12125:13:136",
                        "nodeType": "YulAssignment",
                        "src": "12125:13:136",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "12134:4:136",
                          "nodeType": "YulIdentifier",
                          "src": "12134:4:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "12125:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "12125:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12151:27:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12151:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "tail",
                              "nativeSrc": "12169:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "12169:4:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12175:2:136",
                              "nodeType": "YulLiteral",
                              "src": "12175:2:136",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12165:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12165:3:136"
                          },
                          "nativeSrc": "12165:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12165:13:136"
                        },
                        "variables": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "12155:6:136",
                            "nodeType": "YulTypedName",
                            "src": "12155:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12191:18:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12191:18:136",
                        "value": {
                          "name": "_1",
                          "nativeSrc": "12207:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12207:2:136"
                        },
                        "variables": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "12195:8:136",
                            "nodeType": "YulTypedName",
                            "src": "12195:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12222:12:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12222:12:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "12233:1:136",
                          "nodeType": "YulLiteral",
                          "src": "12233:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "i_1",
                            "nativeSrc": "12226:3:136",
                            "nodeType": "YulTypedName",
                            "src": "12226:3:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "12304:234:136",
                          "nodeType": "YulBlock",
                          "src": "12304:234:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "12329:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12329:5:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "tail_1",
                                        "nativeSrc": "12340:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12340:6:136"
                                      },
                                      {
                                        "name": "tail",
                                        "nativeSrc": "12348:4:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12348:4:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sub",
                                      "nativeSrc": "12336:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12336:3:136"
                                    },
                                    "nativeSrc": "12336:17:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "12336:17:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "12322:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12322:6:136"
                                },
                                "nativeSrc": "12322:32:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12322:32:136"
                              },
                              "nativeSrc": "12322:32:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "12322:32:136"
                            },
                            {
                              "nativeSrc": "12371:63:136",
                              "nodeType": "YulAssignment",
                              "src": "12371:63:136",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "srcPtr_1",
                                        "nativeSrc": "12416:8:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "12416:8:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "12410:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12410:5:136"
                                    },
                                    "nativeSrc": "12410:15:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "12410:15:136"
                                  },
                                  {
                                    "name": "tail_1",
                                    "nativeSrc": "12427:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12427:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_string_memory_ptr",
                                  "nativeSrc": "12381:28:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12381:28:136"
                                },
                                "nativeSrc": "12381:53:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12381:53:136"
                              },
                              "variableNames": [
                                {
                                  "name": "tail_1",
                                  "nativeSrc": "12371:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12371:6:136"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "12451:31:136",
                              "nodeType": "YulAssignment",
                              "src": "12451:31:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "srcPtr_1",
                                    "nativeSrc": "12467:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12467:8:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12477:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12477:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12463:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12463:3:136"
                                },
                                "nativeSrc": "12463:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12463:19:136"
                              },
                              "variableNames": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "12451:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12451:8:136"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "12499:25:136",
                              "nodeType": "YulAssignment",
                              "src": "12499:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "12512:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12512:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12519:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12519:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12508:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12508:3:136"
                                },
                                "nativeSrc": "12508:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12508:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "pos_2",
                                  "nativeSrc": "12499:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12499:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "12258:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12258:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12263:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12263:4:136",
                              "type": "",
                              "value": "0x02"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "12255:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "12255:2:136"
                          },
                          "nativeSrc": "12255:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12255:13:136"
                        },
                        "nativeSrc": "12247:291:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "12269:22:136",
                          "nodeType": "YulBlock",
                          "src": "12269:22:136",
                          "statements": [
                            {
                              "nativeSrc": "12271:18:136",
                              "nodeType": "YulAssignment",
                              "src": "12271:18:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "i_1",
                                    "nativeSrc": "12282:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12282:3:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12287:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12287:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12278:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12278:3:136"
                                },
                                "nativeSrc": "12278:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12278:11:136"
                              },
                              "variableNames": [
                                {
                                  "name": "i_1",
                                  "nativeSrc": "12271:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12271:3:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "12251:3:136",
                          "nodeType": "YulBlock",
                          "src": "12251:3:136",
                          "statements": []
                        },
                        "src": "12247:291:136"
                      },
                      {
                        "nativeSrc": "12551:14:136",
                        "nodeType": "YulAssignment",
                        "src": "12551:14:136",
                        "value": {
                          "name": "tail_1",
                          "nativeSrc": "12559:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "12559:6:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "12551:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "12551:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12578:27:136",
                        "nodeType": "YulAssignment",
                        "src": "12578:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "12592:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "12592:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12600:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12600:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12588:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12588:3:136"
                          },
                          "nativeSrc": "12588:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12588:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "12578:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12578:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "12618:21:136",
                        "nodeType": "YulAssignment",
                        "src": "12618:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "12629:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12629:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12634:4:136",
                              "nodeType": "YulLiteral",
                              "src": "12634:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12625:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12625:3:136"
                          },
                          "nativeSrc": "12625:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12625:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "12618:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12618:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11951:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "11951:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11954:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11954:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11948:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11948:2:136"
                    },
                    "nativeSrc": "11948:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11948:13:136"
                  },
                  "nativeSrc": "11940:709:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11962:18:136",
                    "nodeType": "YulBlock",
                    "src": "11962:18:136",
                    "statements": [
                      {
                        "nativeSrc": "11964:14:136",
                        "nodeType": "YulAssignment",
                        "src": "11964:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11973:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "11973:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11976:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11976:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11969:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "11969:3:136"
                          },
                          "nativeSrc": "11969:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11969:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11964:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "11964:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11944:3:136",
                    "nodeType": "YulBlock",
                    "src": "11944:3:136",
                    "statements": []
                  },
                  "src": "11940:709:136"
                },
                {
                  "nativeSrc": "12658:11:136",
                  "nodeType": "YulAssignment",
                  "src": "12658:11:136",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "12665:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "12665:4:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "12658:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12658:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_array_string_dyn",
            "nativeSrc": "11630:1045:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11673:5:136",
                "nodeType": "YulTypedName",
                "src": "11673:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11680:3:136",
                "nodeType": "YulTypedName",
                "src": "11680:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "11688:3:136",
                "nodeType": "YulTypedName",
                "src": "11688:3:136",
                "type": ""
              }
            ],
            "src": "11630:1045:136"
          },
          {
            "body": {
              "nativeSrc": "12897:1663:136",
              "nodeType": "YulBlock",
              "src": "12897:1663:136",
              "statements": [
                {
                  "nativeSrc": "12907:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12907:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12925:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12925:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12936:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12936:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12921:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12921:3:136"
                    },
                    "nativeSrc": "12921:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12921:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "12911:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12911:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12955:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12955:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12966:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12966:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12948:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12948:6:136"
                    },
                    "nativeSrc": "12948:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12948:21:136"
                  },
                  "nativeSrc": "12948:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12948:21:136"
                },
                {
                  "nativeSrc": "12978:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12978:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "12989:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "12989:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "12982:3:136",
                      "nodeType": "YulTypedName",
                      "src": "12982:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13004:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13004:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "13024:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13024:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "13018:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "13018:5:136"
                    },
                    "nativeSrc": "13018:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13018:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "13008:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13008:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "13047:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13047:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13055:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13055:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13040:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13040:6:136"
                    },
                    "nativeSrc": "13040:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13040:22:136"
                  },
                  "nativeSrc": "13040:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13040:22:136"
                },
                {
                  "nativeSrc": "13071:25:136",
                  "nodeType": "YulAssignment",
                  "src": "13071:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13082:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "13082:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13093:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13093:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13078:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13078:3:136"
                    },
                    "nativeSrc": "13078:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13078:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "13071:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13071:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13105:53:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13105:53:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13127:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13127:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13142:1:136",
                                "nodeType": "YulLiteral",
                                "src": "13142:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "13145:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "13145:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13138:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13138:3:136"
                            },
                            "nativeSrc": "13138:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13138:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13123:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13123:3:136"
                        },
                        "nativeSrc": "13123:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13123:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13155:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13155:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13119:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13119:3:136"
                    },
                    "nativeSrc": "13119:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13119:39:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "13109:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13109:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13167:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13167:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "13185:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13185:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13193:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13193:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13181:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13181:3:136"
                    },
                    "nativeSrc": "13181:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13181:15:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "13171:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13171:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13205:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13205:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13214:1:136",
                    "nodeType": "YulLiteral",
                    "src": "13214:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "13209:1:136",
                      "nodeType": "YulTypedName",
                      "src": "13209:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13273:1258:136",
                    "nodeType": "YulBlock",
                    "src": "13273:1258:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "13294:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13294:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "13307:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13307:6:136"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "13315:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13315:9:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "13303:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13303:3:136"
                                  },
                                  "nativeSrc": "13303:22:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13303:22:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "13331:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "13331:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "13327:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13327:3:136"
                                  },
                                  "nativeSrc": "13327:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13327:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13299:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13299:3:136"
                              },
                              "nativeSrc": "13299:36:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13299:36:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13287:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13287:6:136"
                          },
                          "nativeSrc": "13287:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13287:49:136"
                        },
                        "nativeSrc": "13287:49:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13287:49:136"
                      },
                      {
                        "nativeSrc": "13349:23:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13349:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13365:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13365:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13359:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13359:5:136"
                          },
                          "nativeSrc": "13359:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13359:13:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "13353:2:136",
                            "nodeType": "YulTypedName",
                            "src": "13353:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "tail_2",
                              "nativeSrc": "13392:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13392:6:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_1",
                                      "nativeSrc": "13410:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13410:2:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "13404:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13404:5:136"
                                  },
                                  "nativeSrc": "13404:9:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13404:9:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13415:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13415:4:136",
                                  "type": "",
                                  "value": "0xff"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "13400:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13400:3:136"
                              },
                              "nativeSrc": "13400:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13400:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13385:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13385:6:136"
                          },
                          "nativeSrc": "13385:36:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13385:36:136"
                        },
                        "nativeSrc": "13385:36:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13385:36:136"
                      },
                      {
                        "nativeSrc": "13434:38:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13434:38:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13464:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13464:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13468:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13468:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13460:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13460:3:136"
                              },
                              "nativeSrc": "13460:11:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13460:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13454:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13454:5:136"
                          },
                          "nativeSrc": "13454:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13454:18:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "13438:12:136",
                            "nodeType": "YulTypedName",
                            "src": "13438:12:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0",
                              "nativeSrc": "13523:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "13523:12:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13541:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13541:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13549:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13549:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13537:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13537:3:136"
                              },
                              "nativeSrc": "13537:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13537:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonRetrievalMethods",
                            "nativeSrc": "13485:37:136",
                            "nodeType": "YulIdentifier",
                            "src": "13485:37:136"
                          },
                          "nativeSrc": "13485:68:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13485:68:136"
                        },
                        "nativeSrc": "13485:68:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13485:68:136"
                      },
                      {
                        "nativeSrc": "13566:40:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13566:40:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13598:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13598:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13602:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13602:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13594:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13594:3:136"
                              },
                              "nativeSrc": "13594:11:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13594:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13588:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13588:5:136"
                          },
                          "nativeSrc": "13588:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13588:18:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "13570:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13570:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "memberValue0_1",
                              "nativeSrc": "13650:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "13650:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13670:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13670:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13678:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13678:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13666:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13666:3:136"
                              },
                              "nativeSrc": "13666:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13666:15:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_RadonDataTypes",
                            "nativeSrc": "13619:30:136",
                            "nodeType": "YulIdentifier",
                            "src": "13619:30:136"
                          },
                          "nativeSrc": "13619:63:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13619:63:136"
                        },
                        "nativeSrc": "13619:63:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13619:63:136"
                      },
                      {
                        "nativeSrc": "13695:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13695:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13727:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13727:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13731:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13731:4:136",
                                  "type": "",
                                  "value": "0x60"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13723:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13723:3:136"
                              },
                              "nativeSrc": "13723:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13723:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13717:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13717:5:136"
                          },
                          "nativeSrc": "13717:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13717:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "13699:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13699:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13761:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13761:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13769:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13769:4:136",
                                  "type": "",
                                  "value": "0x60"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13757:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13757:3:136"
                              },
                              "nativeSrc": "13757:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13757:17:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13776:4:136",
                              "nodeType": "YulLiteral",
                              "src": "13776:4:136",
                              "type": "",
                              "value": "0xe0"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13750:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13750:6:136"
                          },
                          "nativeSrc": "13750:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13750:31:136"
                        },
                        "nativeSrc": "13750:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13750:31:136"
                      },
                      {
                        "nativeSrc": "13794:77:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13794:77:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_2",
                              "nativeSrc": "13837:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "13837:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13857:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13857:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13865:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13865:4:136",
                                  "type": "",
                                  "value": "0xe0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13853:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13853:3:136"
                              },
                              "nativeSrc": "13853:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13853:17:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "13808:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "13808:28:136"
                          },
                          "nativeSrc": "13808:63:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13808:63:136"
                        },
                        "variables": [
                          {
                            "name": "tail_3",
                            "nativeSrc": "13798:6:136",
                            "nodeType": "YulTypedName",
                            "src": "13798:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13884:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13884:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "13916:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13916:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13920:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13920:4:136",
                                  "type": "",
                                  "value": "0x80"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13912:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13912:3:136"
                              },
                              "nativeSrc": "13912:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13912:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "13906:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13906:5:136"
                          },
                          "nativeSrc": "13906:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13906:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_3",
                            "nativeSrc": "13888:14:136",
                            "nodeType": "YulTypedName",
                            "src": "13888:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13950:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13950:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "13958:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "13958:4:136",
                                  "type": "",
                                  "value": "0x80"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13946:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13946:3:136"
                              },
                              "nativeSrc": "13946:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13946:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_3",
                                  "nativeSrc": "13969:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13969:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "13977:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13977:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "13965:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13965:3:136"
                              },
                              "nativeSrc": "13965:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13965:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13939:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13939:6:136"
                          },
                          "nativeSrc": "13939:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13939:46:136"
                        },
                        "nativeSrc": "13939:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13939:46:136"
                      },
                      {
                        "nativeSrc": "13998:66:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13998:66:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_3",
                              "nativeSrc": "14041:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "14041:14:136"
                            },
                            {
                              "name": "tail_3",
                              "nativeSrc": "14057:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14057:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "14012:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "14012:28:136"
                          },
                          "nativeSrc": "14012:52:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14012:52:136"
                        },
                        "variables": [
                          {
                            "name": "tail_4",
                            "nativeSrc": "14002:6:136",
                            "nodeType": "YulTypedName",
                            "src": "14002:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14077:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14077:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "14109:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14109:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14113:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14113:4:136",
                                  "type": "",
                                  "value": "0xa0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14105:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14105:3:136"
                              },
                              "nativeSrc": "14105:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14105:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14099:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "14099:5:136"
                          },
                          "nativeSrc": "14099:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14099:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_4",
                            "nativeSrc": "14081:14:136",
                            "nodeType": "YulTypedName",
                            "src": "14081:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14143:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14143:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14151:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14151:4:136",
                                  "type": "",
                                  "value": "0xa0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14139:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14139:3:136"
                              },
                              "nativeSrc": "14139:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14139:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_4",
                                  "nativeSrc": "14162:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14162:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14170:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14170:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "14158:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14158:3:136"
                              },
                              "nativeSrc": "14158:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14158:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14132:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14132:6:136"
                          },
                          "nativeSrc": "14132:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14132:46:136"
                        },
                        "nativeSrc": "14132:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14132:46:136"
                      },
                      {
                        "nativeSrc": "14191:71:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14191:71:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_4",
                              "nativeSrc": "14239:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "14239:14:136"
                            },
                            {
                              "name": "tail_4",
                              "nativeSrc": "14255:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14255:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_array_array_string_dyn",
                            "nativeSrc": "14205:33:136",
                            "nodeType": "YulIdentifier",
                            "src": "14205:33:136"
                          },
                          "nativeSrc": "14205:57:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14205:57:136"
                        },
                        "variables": [
                          {
                            "name": "tail_5",
                            "nativeSrc": "14195:6:136",
                            "nodeType": "YulTypedName",
                            "src": "14195:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14275:42:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14275:42:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_1",
                                  "nativeSrc": "14307:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14307:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14311:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14311:4:136",
                                  "type": "",
                                  "value": "0xc0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14303:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14303:3:136"
                              },
                              "nativeSrc": "14303:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14303:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "14297:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "14297:5:136"
                          },
                          "nativeSrc": "14297:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14297:20:136"
                        },
                        "variables": [
                          {
                            "name": "memberValue0_5",
                            "nativeSrc": "14279:14:136",
                            "nodeType": "YulTypedName",
                            "src": "14279:14:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14341:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14341:6:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "14349:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "14349:4:136",
                                  "type": "",
                                  "value": "0xc0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "14337:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14337:3:136"
                              },
                              "nativeSrc": "14337:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14337:17:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "tail_5",
                                  "nativeSrc": "14360:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14360:6:136"
                                },
                                {
                                  "name": "tail_2",
                                  "nativeSrc": "14368:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "14368:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "14356:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "14356:3:136"
                              },
                              "nativeSrc": "14356:19:136",
                              "nodeType": "YulFunctionCall",
                              "src": "14356:19:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "14330:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14330:6:136"
                          },
                          "nativeSrc": "14330:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14330:46:136"
                        },
                        "nativeSrc": "14330:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14330:46:136"
                      },
                      {
                        "nativeSrc": "14389:62:136",
                        "nodeType": "YulAssignment",
                        "src": "14389:62:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "memberValue0_5",
                              "nativeSrc": "14428:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "14428:14:136"
                            },
                            {
                              "name": "tail_5",
                              "nativeSrc": "14444:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14444:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "14399:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "14399:28:136"
                          },
                          "nativeSrc": "14399:52:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14399:52:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "14389:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14389:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14464:25:136",
                        "nodeType": "YulAssignment",
                        "src": "14464:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "14478:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "14478:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14486:2:136",
                              "nodeType": "YulLiteral",
                              "src": "14486:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14474:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14474:3:136"
                          },
                          "nativeSrc": "14474:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14474:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "14464:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14464:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "14502:19:136",
                        "nodeType": "YulAssignment",
                        "src": "14502:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "14513:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "14513:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14518:2:136",
                              "nodeType": "YulLiteral",
                              "src": "14518:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14509:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14509:3:136"
                          },
                          "nativeSrc": "14509:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14509:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "14502:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14502:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "13235:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "13235:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13238:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13238:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "13232:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13232:2:136"
                    },
                    "nativeSrc": "13232:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13232:13:136"
                  },
                  "nativeSrc": "13224:1307:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "13246:18:136",
                    "nodeType": "YulBlock",
                    "src": "13246:18:136",
                    "statements": [
                      {
                        "nativeSrc": "13248:14:136",
                        "nodeType": "YulAssignment",
                        "src": "13248:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "13257:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "13257:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13260:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13260:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13253:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13253:3:136"
                          },
                          "nativeSrc": "13253:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13253:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "13248:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "13248:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "13228:3:136",
                    "nodeType": "YulBlock",
                    "src": "13228:3:136",
                    "statements": []
                  },
                  "src": "13224:1307:136"
                },
                {
                  "nativeSrc": "14540:14:136",
                  "nodeType": "YulAssignment",
                  "src": "14540:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "14548:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "14548:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14540:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14540:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "12680:1880:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12866:9:136",
                "nodeType": "YulTypedName",
                "src": "12866:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12877:6:136",
                "nodeType": "YulTypedName",
                "src": "12877:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12888:4:136",
                "nodeType": "YulTypedName",
                "src": "12888:4:136",
                "type": ""
              }
            ],
            "src": "12680:1880:136"
          },
          {
            "body": {
              "nativeSrc": "14672:418:136",
              "nodeType": "YulBlock",
              "src": "14672:418:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14718:16:136",
                    "nodeType": "YulBlock",
                    "src": "14718:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14727:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14727:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14730:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14730:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14720:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14720:6:136"
                          },
                          "nativeSrc": "14720:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14720:12:136"
                        },
                        "nativeSrc": "14720:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14720:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14693:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "14693:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14702:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14702:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14689:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14689:3:136"
                        },
                        "nativeSrc": "14689:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14689:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14714:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14714:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14685:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14685:3:136"
                    },
                    "nativeSrc": "14685:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14685:32:136"
                  },
                  "nativeSrc": "14682:52:136",
                  "nodeType": "YulIf",
                  "src": "14682:52:136"
                },
                {
                  "nativeSrc": "14743:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14743:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14770:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14770:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14757:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "14757:12:136"
                    },
                    "nativeSrc": "14757:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14757:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14747:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14747:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14823:16:136",
                    "nodeType": "YulBlock",
                    "src": "14823:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14832:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14832:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14835:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14835:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14825:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14825:6:136"
                          },
                          "nativeSrc": "14825:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14825:12:136"
                        },
                        "nativeSrc": "14825:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14825:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14795:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14795:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14803:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14803:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14792:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14792:2:136"
                    },
                    "nativeSrc": "14792:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14792:30:136"
                  },
                  "nativeSrc": "14789:50:136",
                  "nodeType": "YulIf",
                  "src": "14789:50:136"
                },
                {
                  "nativeSrc": "14848:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14848:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14905:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14905:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14916:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14916:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14901:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14901:3:136"
                        },
                        "nativeSrc": "14901:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14901:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14925:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "14925:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "14874:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "14874:26:136"
                    },
                    "nativeSrc": "14874:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14874:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14852:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14852:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14862:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14862:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14942:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14942:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14952:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14952:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14942:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14942:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14969:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14969:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14979:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14979:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14969:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14969:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14996:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14996:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "15009:1:136",
                    "nodeType": "YulLiteral",
                    "src": "15009:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "15000:5:136",
                      "nodeType": "YulTypedName",
                      "src": "15000:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15019:41:136",
                  "nodeType": "YulAssignment",
                  "src": "15019:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15045:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15045:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15056:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15056:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15041:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15041:3:136"
                        },
                        "nativeSrc": "15041:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15041:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15028:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15028:12:136"
                    },
                    "nativeSrc": "15028:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15028:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "15019:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "15019:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "15069:15:136",
                  "nodeType": "YulAssignment",
                  "src": "15069:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "15079:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "15079:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15069:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15069:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bytes32",
            "nativeSrc": "14565:525:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14622:9:136",
                "nodeType": "YulTypedName",
                "src": "14622:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14633:7:136",
                "nodeType": "YulTypedName",
                "src": "14633:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14645:6:136",
                "nodeType": "YulTypedName",
                "src": "14645:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14653:6:136",
                "nodeType": "YulTypedName",
                "src": "14653:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14661:6:136",
                "nodeType": "YulTypedName",
                "src": "14661:6:136",
                "type": ""
              }
            ],
            "src": "14565:525:136"
          },
          {
            "body": {
              "nativeSrc": "15185:321:136",
              "nodeType": "YulBlock",
              "src": "15185:321:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15231:16:136",
                    "nodeType": "YulBlock",
                    "src": "15231:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15240:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15240:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15243:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15243:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15233:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15233:6:136"
                          },
                          "nativeSrc": "15233:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15233:12:136"
                        },
                        "nativeSrc": "15233:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15233:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15206:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15206:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15215:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15215:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15202:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15202:3:136"
                        },
                        "nativeSrc": "15202:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15202:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15227:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15227:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15198:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15198:3:136"
                    },
                    "nativeSrc": "15198:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15198:32:136"
                  },
                  "nativeSrc": "15195:52:136",
                  "nodeType": "YulIf",
                  "src": "15195:52:136"
                },
                {
                  "nativeSrc": "15256:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15256:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15283:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15283:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15270:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15270:12:136"
                    },
                    "nativeSrc": "15270:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15270:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15260:6:136",
                      "nodeType": "YulTypedName",
                      "src": "15260:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15336:16:136",
                    "nodeType": "YulBlock",
                    "src": "15336:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15345:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15345:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15348:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15348:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15338:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15338:6:136"
                          },
                          "nativeSrc": "15338:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15338:12:136"
                        },
                        "nativeSrc": "15338:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15338:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15308:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15308:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15316:18:136",
                        "nodeType": "YulLiteral",
                        "src": "15316:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15305:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "15305:2:136"
                    },
                    "nativeSrc": "15305:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15305:30:136"
                  },
                  "nativeSrc": "15302:50:136",
                  "nodeType": "YulIf",
                  "src": "15302:50:136"
                },
                {
                  "nativeSrc": "15361:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15361:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15418:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15418:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15429:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15429:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15414:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15414:3:136"
                        },
                        "nativeSrc": "15414:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15414:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15438:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "15438:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "15387:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "15387:26:136"
                    },
                    "nativeSrc": "15387:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15387:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15365:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15365:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15375:8:136",
                      "nodeType": "YulTypedName",
                      "src": "15375:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15455:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15455:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15465:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "15465:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15455:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15455:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "15482:18:136",
                  "nodeType": "YulAssignment",
                  "src": "15482:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15492:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "15492:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15482:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15482:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "15095:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15143:9:136",
                "nodeType": "YulTypedName",
                "src": "15143:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15154:7:136",
                "nodeType": "YulTypedName",
                "src": "15154:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15166:6:136",
                "nodeType": "YulTypedName",
                "src": "15166:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15174:6:136",
                "nodeType": "YulTypedName",
                "src": "15174:6:136",
                "type": ""
              }
            ],
            "src": "15095:411:136"
          },
          {
            "body": {
              "nativeSrc": "15610:103:136",
              "nodeType": "YulBlock",
              "src": "15610:103:136",
              "statements": [
                {
                  "nativeSrc": "15620:26:136",
                  "nodeType": "YulAssignment",
                  "src": "15620:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15632:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15632:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15643:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15643:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15628:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15628:3:136"
                    },
                    "nativeSrc": "15628:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15628:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15620:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "15620:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15662:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15662:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "15677:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15677:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "15689:3:136",
                                "nodeType": "YulLiteral",
                                "src": "15689:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15694:10:136",
                                "nodeType": "YulLiteral",
                                "src": "15694:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "15685:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15685:3:136"
                            },
                            "nativeSrc": "15685:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15685:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "15673:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15673:3:136"
                        },
                        "nativeSrc": "15673:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15673:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15655:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15655:6:136"
                    },
                    "nativeSrc": "15655:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15655:52:136"
                  },
                  "nativeSrc": "15655:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15655:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "15511:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15579:9:136",
                "nodeType": "YulTypedName",
                "src": "15579:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15590:6:136",
                "nodeType": "YulTypedName",
                "src": "15590:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15601:4:136",
                "nodeType": "YulTypedName",
                "src": "15601:4:136",
                "type": ""
              }
            ],
            "src": "15511:202:136"
          },
          {
            "body": {
              "nativeSrc": "15791:85:136",
              "nodeType": "YulBlock",
              "src": "15791:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15830:16:136",
                    "nodeType": "YulBlock",
                    "src": "15830:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15839:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15839:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15842:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15842:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15832:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15832:6:136"
                          },
                          "nativeSrc": "15832:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15832:12:136"
                        },
                        "nativeSrc": "15832:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15832:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "15812:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "15812:3:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15817:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15817:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15808:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15808:3:136"
                        },
                        "nativeSrc": "15808:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15808:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15826:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15826:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15804:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15804:3:136"
                    },
                    "nativeSrc": "15804:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15804:25:136"
                  },
                  "nativeSrc": "15801:45:136",
                  "nodeType": "YulIf",
                  "src": "15801:45:136"
                },
                {
                  "nativeSrc": "15855:15:136",
                  "nodeType": "YulAssignment",
                  "src": "15855:15:136",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "15864:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "15864:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "15855:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "15855:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLAv2_calldata",
            "nativeSrc": "15718:158:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "15765:6:136",
                "nodeType": "YulTypedName",
                "src": "15765:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "15773:3:136",
                "nodeType": "YulTypedName",
                "src": "15773:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "15781:5:136",
                "nodeType": "YulTypedName",
                "src": "15781:5:136",
                "type": ""
              }
            ],
            "src": "15718:158:136"
          },
          {
            "body": {
              "nativeSrc": "15998:261:136",
              "nodeType": "YulBlock",
              "src": "15998:261:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16044:16:136",
                    "nodeType": "YulBlock",
                    "src": "16044:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16053:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16053:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16056:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16056:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16046:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16046:6:136"
                          },
                          "nativeSrc": "16046:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16046:12:136"
                        },
                        "nativeSrc": "16046:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16046:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16019:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16019:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16028:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16028:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16015:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16015:3:136"
                        },
                        "nativeSrc": "16015:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16015:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16040:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16040:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16011:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16011:3:136"
                    },
                    "nativeSrc": "16011:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16011:32:136"
                  },
                  "nativeSrc": "16008:52:136",
                  "nodeType": "YulIf",
                  "src": "16008:52:136"
                },
                {
                  "nativeSrc": "16069:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16069:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16095:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16095:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16082:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16082:12:136"
                    },
                    "nativeSrc": "16082:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16082:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "16073:5:136",
                      "nodeType": "YulTypedName",
                      "src": "16073:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "16138:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "16138:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "16114:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "16114:23:136"
                    },
                    "nativeSrc": "16114:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16114:30:136"
                  },
                  "nativeSrc": "16114:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16114:30:136"
                },
                {
                  "nativeSrc": "16153:15:136",
                  "nodeType": "YulAssignment",
                  "src": "16153:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "16163:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "16163:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16153:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16153:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16177:76:136",
                  "nodeType": "YulAssignment",
                  "src": "16177:76:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16229:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16229:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16240:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16240:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16225:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16225:3:136"
                        },
                        "nativeSrc": "16225:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16225:18:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16245:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16245:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLAv2_calldata",
                      "nativeSrc": "16187:37:136",
                      "nodeType": "YulIdentifier",
                      "src": "16187:37:136"
                    },
                    "nativeSrc": "16187:66:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16187:66:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16177:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16177:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4t_struct$_RadonSLAv2_$29146_calldata_ptr",
            "nativeSrc": "15881:378:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15956:9:136",
                "nodeType": "YulTypedName",
                "src": "15956:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15967:7:136",
                "nodeType": "YulTypedName",
                "src": "15967:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15979:6:136",
                "nodeType": "YulTypedName",
                "src": "15979:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15987:6:136",
                "nodeType": "YulTypedName",
                "src": "15987:6:136",
                "type": ""
              }
            ],
            "src": "15881:378:136"
          },
          {
            "body": {
              "nativeSrc": "16398:439:136",
              "nodeType": "YulBlock",
              "src": "16398:439:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16444:16:136",
                    "nodeType": "YulBlock",
                    "src": "16444:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16453:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16453:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16456:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16456:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16446:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16446:6:136"
                          },
                          "nativeSrc": "16446:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16446:12:136"
                        },
                        "nativeSrc": "16446:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16446:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16419:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16419:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16428:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16428:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16415:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16415:3:136"
                        },
                        "nativeSrc": "16415:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16415:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16440:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16440:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16411:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16411:3:136"
                    },
                    "nativeSrc": "16411:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16411:32:136"
                  },
                  "nativeSrc": "16408:52:136",
                  "nodeType": "YulIf",
                  "src": "16408:52:136"
                },
                {
                  "nativeSrc": "16469:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16469:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16496:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16496:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16483:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16483:12:136"
                    },
                    "nativeSrc": "16483:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16483:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "16473:6:136",
                      "nodeType": "YulTypedName",
                      "src": "16473:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16549:16:136",
                    "nodeType": "YulBlock",
                    "src": "16549:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16558:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16558:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16561:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16561:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16551:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16551:6:136"
                          },
                          "nativeSrc": "16551:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16551:12:136"
                        },
                        "nativeSrc": "16551:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16551:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16521:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16521:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16529:18:136",
                        "nodeType": "YulLiteral",
                        "src": "16529:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16518:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "16518:2:136"
                    },
                    "nativeSrc": "16518:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16518:30:136"
                  },
                  "nativeSrc": "16515:50:136",
                  "nodeType": "YulIf",
                  "src": "16515:50:136"
                },
                {
                  "nativeSrc": "16574:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16574:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16631:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16631:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16642:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16642:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16627:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16627:3:136"
                        },
                        "nativeSrc": "16627:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16627:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16651:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16651:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "16600:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "16600:26:136"
                    },
                    "nativeSrc": "16600:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16600:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "16578:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16578:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "16588:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16588:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16668:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16668:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "16678:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16678:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16668:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16668:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16695:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16695:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16705:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16705:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16695:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16695:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16722:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16722:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16752:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16752:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16763:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16763:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16748:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16748:3:136"
                        },
                        "nativeSrc": "16748:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16748:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16735:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16735:12:136"
                    },
                    "nativeSrc": "16735:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16735:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "16726:5:136",
                      "nodeType": "YulTypedName",
                      "src": "16726:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "16801:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "16801:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "16776:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "16776:24:136"
                    },
                    "nativeSrc": "16776:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16776:31:136"
                  },
                  "nativeSrc": "16776:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16776:31:136"
                },
                {
                  "nativeSrc": "16816:15:136",
                  "nodeType": "YulAssignment",
                  "src": "16816:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "16826:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "16826:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "16816:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16816:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequest_$28922",
            "nativeSrc": "16264:573:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16348:9:136",
                "nodeType": "YulTypedName",
                "src": "16348:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16359:7:136",
                "nodeType": "YulTypedName",
                "src": "16359:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16371:6:136",
                "nodeType": "YulTypedName",
                "src": "16371:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16379:6:136",
                "nodeType": "YulTypedName",
                "src": "16379:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "16387:6:136",
                "nodeType": "YulTypedName",
                "src": "16387:6:136",
                "type": ""
              }
            ],
            "src": "16264:573:136"
          },
          {
            "body": {
              "nativeSrc": "16922:370:136",
              "nodeType": "YulBlock",
              "src": "16922:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16968:16:136",
                    "nodeType": "YulBlock",
                    "src": "16968:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16977:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16977:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16980:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16980:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16970:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16970:6:136"
                          },
                          "nativeSrc": "16970:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16970:12:136"
                        },
                        "nativeSrc": "16970:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16970:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16943:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16943:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16952:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16952:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16939:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16939:3:136"
                        },
                        "nativeSrc": "16939:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16939:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16964:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16964:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16935:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16935:3:136"
                    },
                    "nativeSrc": "16935:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16935:32:136"
                  },
                  "nativeSrc": "16932:52:136",
                  "nodeType": "YulIf",
                  "src": "16932:52:136"
                },
                {
                  "nativeSrc": "16993:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16993:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17020:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17020:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17007:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17007:12:136"
                    },
                    "nativeSrc": "17007:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17007:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "16997:6:136",
                      "nodeType": "YulTypedName",
                      "src": "16997:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17073:16:136",
                    "nodeType": "YulBlock",
                    "src": "17073:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17082:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17082:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17085:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17085:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17075:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17075:6:136"
                          },
                          "nativeSrc": "17075:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17075:12:136"
                        },
                        "nativeSrc": "17075:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17075:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17045:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17045:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17053:18:136",
                        "nodeType": "YulLiteral",
                        "src": "17053:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17042:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17042:2:136"
                    },
                    "nativeSrc": "17042:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17042:30:136"
                  },
                  "nativeSrc": "17039:50:136",
                  "nodeType": "YulIf",
                  "src": "17039:50:136"
                },
                {
                  "nativeSrc": "17098:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17098:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17112:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17112:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "17123:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17123:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17108:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17108:3:136"
                    },
                    "nativeSrc": "17108:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17108:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "17102:2:136",
                      "nodeType": "YulTypedName",
                      "src": "17102:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17178:16:136",
                    "nodeType": "YulBlock",
                    "src": "17178:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17187:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17187:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17190:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17190:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17180:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17180:6:136"
                          },
                          "nativeSrc": "17180:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17180:12:136"
                        },
                        "nativeSrc": "17180:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17180:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "17157:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "17157:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17161:4:136",
                                "nodeType": "YulLiteral",
                                "src": "17161:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "17153:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17153:3:136"
                            },
                            "nativeSrc": "17153:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17153:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17168:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17168:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "17149:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17149:3:136"
                        },
                        "nativeSrc": "17149:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17149:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17142:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17142:6:136"
                    },
                    "nativeSrc": "17142:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17142:35:136"
                  },
                  "nativeSrc": "17139:55:136",
                  "nodeType": "YulIf",
                  "src": "17139:55:136"
                },
                {
                  "nativeSrc": "17203:83:136",
                  "nodeType": "YulAssignment",
                  "src": "17203:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "17251:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "17251:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17255:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17255:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17247:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17247:3:136"
                        },
                        "nativeSrc": "17247:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17247:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "17273:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "17273:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "17260:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "17260:12:136"
                        },
                        "nativeSrc": "17260:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17260:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17278:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "17278:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "17213:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "17213:33:136"
                    },
                    "nativeSrc": "17213:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17213:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17203:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17203:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "16842:450:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16888:9:136",
                "nodeType": "YulTypedName",
                "src": "16888:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16899:7:136",
                "nodeType": "YulTypedName",
                "src": "16899:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16911:6:136",
                "nodeType": "YulTypedName",
                "src": "16911:6:136",
                "type": ""
              }
            ],
            "src": "16842:450:136"
          },
          {
            "body": {
              "nativeSrc": "17341:73:136",
              "nodeType": "YulBlock",
              "src": "17341:73:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17392:16:136",
                    "nodeType": "YulBlock",
                    "src": "17392:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17401:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17401:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17404:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17404:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17394:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17394:6:136"
                          },
                          "nativeSrc": "17394:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17394:12:136"
                        },
                        "nativeSrc": "17394:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17394:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17364:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17364:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17375:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "17375:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17382:6:136",
                                "nodeType": "YulLiteral",
                                "src": "17382:6:136",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17371:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17371:3:136"
                            },
                            "nativeSrc": "17371:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17371:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17361:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "17361:2:136"
                        },
                        "nativeSrc": "17361:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17361:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17354:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17354:6:136"
                    },
                    "nativeSrc": "17354:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17354:37:136"
                  },
                  "nativeSrc": "17351:57:136",
                  "nodeType": "YulIf",
                  "src": "17351:57:136"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "17297:117:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "17330:5:136",
                "nodeType": "YulTypedName",
                "src": "17330:5:136",
                "type": ""
              }
            ],
            "src": "17297:117:136"
          },
          {
            "body": {
              "nativeSrc": "17488:176:136",
              "nodeType": "YulBlock",
              "src": "17488:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17534:16:136",
                    "nodeType": "YulBlock",
                    "src": "17534:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17543:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17543:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17546:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17546:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17536:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17536:6:136"
                          },
                          "nativeSrc": "17536:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17536:12:136"
                        },
                        "nativeSrc": "17536:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17536:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17509:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17509:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17518:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17518:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17505:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17505:3:136"
                        },
                        "nativeSrc": "17505:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17505:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17530:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17530:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17501:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17501:3:136"
                    },
                    "nativeSrc": "17501:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17501:32:136"
                  },
                  "nativeSrc": "17498:52:136",
                  "nodeType": "YulIf",
                  "src": "17498:52:136"
                },
                {
                  "nativeSrc": "17559:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17559:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17585:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17585:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17572:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17572:12:136"
                    },
                    "nativeSrc": "17572:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17572:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17563:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17563:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "17628:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "17628:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "17604:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "17604:23:136"
                    },
                    "nativeSrc": "17604:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17604:30:136"
                  },
                  "nativeSrc": "17604:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17604:30:136"
                },
                {
                  "nativeSrc": "17643:15:136",
                  "nodeType": "YulAssignment",
                  "src": "17643:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "17653:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "17653:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17643:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17643:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "17419:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17454:9:136",
                "nodeType": "YulTypedName",
                "src": "17454:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17465:7:136",
                "nodeType": "YulTypedName",
                "src": "17465:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17477:6:136",
                "nodeType": "YulTypedName",
                "src": "17477:6:136",
                "type": ""
              }
            ],
            "src": "17419:245:136"
          },
          {
            "body": {
              "nativeSrc": "17739:110:136",
              "nodeType": "YulBlock",
              "src": "17739:110:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17785:16:136",
                    "nodeType": "YulBlock",
                    "src": "17785:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17794:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17794:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17797:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17797:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17787:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17787:6:136"
                          },
                          "nativeSrc": "17787:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17787:12:136"
                        },
                        "nativeSrc": "17787:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17787:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17760:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17760:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17769:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17769:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17756:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17756:3:136"
                        },
                        "nativeSrc": "17756:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17756:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17781:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17781:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17752:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17752:3:136"
                    },
                    "nativeSrc": "17752:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17752:32:136"
                  },
                  "nativeSrc": "17749:52:136",
                  "nodeType": "YulIf",
                  "src": "17749:52:136"
                },
                {
                  "nativeSrc": "17810:33:136",
                  "nodeType": "YulAssignment",
                  "src": "17810:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17833:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17833:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17820:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17820:12:136"
                    },
                    "nativeSrc": "17820:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17820:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17810:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17810:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "17669:180:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17705:9:136",
                "nodeType": "YulTypedName",
                "src": "17705:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17716:7:136",
                "nodeType": "YulTypedName",
                "src": "17716:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17728:6:136",
                "nodeType": "YulTypedName",
                "src": "17728:6:136",
                "type": ""
              }
            ],
            "src": "17669:180:136"
          },
          {
            "body": {
              "nativeSrc": "17979:102:136",
              "nodeType": "YulBlock",
              "src": "17979:102:136",
              "statements": [
                {
                  "nativeSrc": "17989:26:136",
                  "nodeType": "YulAssignment",
                  "src": "17989:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18001:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18001:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18012:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18012:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17997:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17997:3:136"
                    },
                    "nativeSrc": "17997:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17997:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17989:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "17989:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18031:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18031:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18046:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18046:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18062:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18062:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18067:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18067:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18058:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "18058:3:136"
                                },
                                "nativeSrc": "18058:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "18058:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18071:1:136",
                                "nodeType": "YulLiteral",
                                "src": "18071:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18054:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "18054:3:136"
                            },
                            "nativeSrc": "18054:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18054:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18042:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18042:3:136"
                        },
                        "nativeSrc": "18042:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18042:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18024:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18024:6:136"
                    },
                    "nativeSrc": "18024:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18024:51:136"
                  },
                  "nativeSrc": "18024:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18024:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitPriceFeeds_$27848__to_t_address__fromStack_reversed",
            "nativeSrc": "17854:227:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17948:9:136",
                "nodeType": "YulTypedName",
                "src": "17948:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "17959:6:136",
                "nodeType": "YulTypedName",
                "src": "17959:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "17970:4:136",
                "nodeType": "YulTypedName",
                "src": "17970:4:136",
                "type": ""
              }
            ],
            "src": "17854:227:136"
          },
          {
            "body": {
              "nativeSrc": "18135:362:136",
              "nodeType": "YulBlock",
              "src": "18135:362:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "18152:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "18152:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "18167:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "18167:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18161:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18161:5:136"
                            },
                            "nativeSrc": "18161:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18161:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18175:18:136",
                            "nodeType": "YulLiteral",
                            "src": "18175:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18157:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18157:3:136"
                        },
                        "nativeSrc": "18157:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18157:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18145:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18145:6:136"
                    },
                    "nativeSrc": "18145:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18145:50:136"
                  },
                  "nativeSrc": "18145:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18145:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18215:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18215:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18220:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18220:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18211:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18211:3:136"
                        },
                        "nativeSrc": "18211:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18211:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "18241:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "18241:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18248:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18248:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "18237:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "18237:3:136"
                                },
                                "nativeSrc": "18237:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "18237:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18231:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18231:5:136"
                            },
                            "nativeSrc": "18231:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18231:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18256:18:136",
                            "nodeType": "YulLiteral",
                            "src": "18256:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18227:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18227:3:136"
                        },
                        "nativeSrc": "18227:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18227:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18204:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18204:6:136"
                    },
                    "nativeSrc": "18204:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18204:72:136"
                  },
                  "nativeSrc": "18204:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18204:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18296:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18296:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18301:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18301:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18292:3:136"
                        },
                        "nativeSrc": "18292:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18292:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "18318:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "18318:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18325:4:136",
                                "nodeType": "YulLiteral",
                                "src": "18325:4:136",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "18314:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "18314:3:136"
                            },
                            "nativeSrc": "18314:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18314:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "18308:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "18308:5:136"
                        },
                        "nativeSrc": "18308:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18308:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18285:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18285:6:136"
                    },
                    "nativeSrc": "18285:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18285:47:136"
                  },
                  "nativeSrc": "18285:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18285:47:136"
                },
                {
                  "nativeSrc": "18341:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18341:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "18371:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "18371:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18378:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18378:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18367:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18367:3:136"
                        },
                        "nativeSrc": "18367:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18367:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "18361:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "18361:5:136"
                    },
                    "nativeSrc": "18361:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18361:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "18345:12:136",
                      "nodeType": "YulTypedName",
                      "src": "18345:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18424:22:136",
                    "nodeType": "YulBlock",
                    "src": "18424:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "18426:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "18426:16:136"
                          },
                          "nativeSrc": "18426:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18426:18:136"
                        },
                        "nativeSrc": "18426:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18426:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "18406:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "18406:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18420:1:136",
                            "nodeType": "YulLiteral",
                            "src": "18420:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "18403:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "18403:2:136"
                        },
                        "nativeSrc": "18403:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18403:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "18396:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18396:6:136"
                    },
                    "nativeSrc": "18396:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18396:27:136"
                  },
                  "nativeSrc": "18393:53:136",
                  "nodeType": "YulIf",
                  "src": "18393:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "18466:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "18466:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18471:4:136",
                            "nodeType": "YulLiteral",
                            "src": "18471:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18462:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18462:3:136"
                        },
                        "nativeSrc": "18462:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18462:14:136"
                      },
                      {
                        "name": "memberValue0",
                        "nativeSrc": "18478:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "18478:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18455:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18455:6:136"
                    },
                    "nativeSrc": "18455:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18455:36:136"
                  },
                  "nativeSrc": "18455:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18455:36:136"
                }
              ]
            },
            "name": "abi_encode_struct_Price",
            "nativeSrc": "18086:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "18119:5:136",
                "nodeType": "YulTypedName",
                "src": "18119:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "18126:3:136",
                "nodeType": "YulTypedName",
                "src": "18126:3:136",
                "type": ""
              }
            ],
            "src": "18086:411:136"
          },
          {
            "body": {
              "nativeSrc": "18651:94:136",
              "nodeType": "YulBlock",
              "src": "18651:94:136",
              "statements": [
                {
                  "nativeSrc": "18661:27:136",
                  "nodeType": "YulAssignment",
                  "src": "18661:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18673:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18673:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18684:3:136",
                        "nodeType": "YulLiteral",
                        "src": "18684:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18669:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18669:3:136"
                    },
                    "nativeSrc": "18669:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18669:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18661:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "18661:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "18721:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18721:6:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "18729:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18729:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "18697:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "18697:23:136"
                    },
                    "nativeSrc": "18697:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18697:42:136"
                  },
                  "nativeSrc": "18697:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18697:42:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_reversed",
            "nativeSrc": "18502:243:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18620:9:136",
                "nodeType": "YulTypedName",
                "src": "18620:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18631:6:136",
                "nodeType": "YulTypedName",
                "src": "18631:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18642:4:136",
                "nodeType": "YulTypedName",
                "src": "18642:4:136",
                "type": ""
              }
            ],
            "src": "18502:243:136"
          },
          {
            "body": {
              "nativeSrc": "18915:546:136",
              "nodeType": "YulBlock",
              "src": "18915:546:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18932:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18932:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18943:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18943:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18925:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18925:6:136"
                    },
                    "nativeSrc": "18925:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18925:21:136"
                  },
                  "nativeSrc": "18925:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18925:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18966:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18966:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18977:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18977:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18962:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18962:3:136"
                        },
                        "nativeSrc": "18962:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18962:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "18992:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "18992:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18986:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18986:5:136"
                            },
                            "nativeSrc": "18986:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18986:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19009:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19009:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19014:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19014:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "19005:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19005:3:136"
                                },
                                "nativeSrc": "19005:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19005:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19018:1:136",
                                "nodeType": "YulLiteral",
                                "src": "19018:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "19001:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19001:3:136"
                            },
                            "nativeSrc": "19001:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19001:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18982:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18982:3:136"
                        },
                        "nativeSrc": "18982:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18982:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18955:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18955:6:136"
                    },
                    "nativeSrc": "18955:67:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18955:67:136"
                  },
                  "nativeSrc": "18955:67:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18955:67:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19042:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19042:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19053:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19053:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19038:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19038:3:136"
                        },
                        "nativeSrc": "19038:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19038:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "19072:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "19072:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19080:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19080:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "19068:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19068:3:136"
                                },
                                "nativeSrc": "19068:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19068:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "19062:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "19062:5:136"
                            },
                            "nativeSrc": "19062:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19062:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19086:18:136",
                            "nodeType": "YulLiteral",
                            "src": "19086:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19058:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19058:3:136"
                        },
                        "nativeSrc": "19058:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19058:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19031:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19031:6:136"
                    },
                    "nativeSrc": "19031:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19031:75:136"
                  },
                  "nativeSrc": "19031:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19031:75:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19126:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19126:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19137:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19137:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19122:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19122:3:136"
                        },
                        "nativeSrc": "19122:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19122:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "19152:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "19152:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19160:2:136",
                                "nodeType": "YulLiteral",
                                "src": "19160:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "19148:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19148:3:136"
                            },
                            "nativeSrc": "19148:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19148:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "19142:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "19142:5:136"
                        },
                        "nativeSrc": "19142:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19142:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19115:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19115:6:136"
                    },
                    "nativeSrc": "19115:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19115:50:136"
                  },
                  "nativeSrc": "19115:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19115:50:136"
                },
                {
                  "nativeSrc": "19174:42:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19174:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19204:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19204:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19212:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19212:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19200:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19200:3:136"
                        },
                        "nativeSrc": "19200:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19200:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19194:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19194:5:136"
                    },
                    "nativeSrc": "19194:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19194:22:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "19178:12:136",
                      "nodeType": "YulTypedName",
                      "src": "19178:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19236:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19236:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19247:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19247:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19232:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19232:3:136"
                        },
                        "nativeSrc": "19232:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19232:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19253:4:136",
                        "nodeType": "YulLiteral",
                        "src": "19253:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19225:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19225:6:136"
                    },
                    "nativeSrc": "19225:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19225:33:136"
                  },
                  "nativeSrc": "19225:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19225:33:136"
                },
                {
                  "nativeSrc": "19267:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19267:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "19310:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "19310:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19328:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19328:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19339:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19339:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19324:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19324:3:136"
                        },
                        "nativeSrc": "19324:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19324:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "19281:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "19281:28:136"
                    },
                    "nativeSrc": "19281:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19281:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "19271:6:136",
                      "nodeType": "YulTypedName",
                      "src": "19271:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19364:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19364:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19375:4:136",
                            "nodeType": "YulLiteral",
                            "src": "19375:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19360:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19360:3:136"
                        },
                        "nativeSrc": "19360:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19360:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "19396:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "19396:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19404:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19404:3:136",
                                    "type": "",
                                    "value": "128"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "19392:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19392:3:136"
                                },
                                "nativeSrc": "19392:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19392:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "19386:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "19386:5:136"
                            },
                            "nativeSrc": "19386:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19386:23:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19419:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19419:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19424:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "19424:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "19415:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "19415:3:136"
                                },
                                "nativeSrc": "19415:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "19415:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19428:1:136",
                                "nodeType": "YulLiteral",
                                "src": "19428:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "19411:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19411:3:136"
                            },
                            "nativeSrc": "19411:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19411:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19382:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19382:3:136"
                        },
                        "nativeSrc": "19382:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19382:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19353:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19353:6:136"
                    },
                    "nativeSrc": "19353:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19353:79:136"
                  },
                  "nativeSrc": "19353:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19353:79:136"
                },
                {
                  "nativeSrc": "19441:14:136",
                  "nodeType": "YulAssignment",
                  "src": "19441:14:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "19449:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "19449:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19441:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19441:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_QueryResponse_$37365_memory_ptr__to_t_struct$_QueryResponse_$37365_memory_ptr__fromStack_reversed",
            "nativeSrc": "18750:711:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18884:9:136",
                "nodeType": "YulTypedName",
                "src": "18884:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18895:6:136",
                "nodeType": "YulTypedName",
                "src": "18895:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18906:4:136",
                "nodeType": "YulTypedName",
                "src": "18906:4:136",
                "type": ""
              }
            ],
            "src": "18750:711:136"
          },
          {
            "body": {
              "nativeSrc": "19565:89:136",
              "nodeType": "YulBlock",
              "src": "19565:89:136",
              "statements": [
                {
                  "nativeSrc": "19575:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19575:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19587:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19587:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19598:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19598:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19583:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19583:3:136"
                    },
                    "nativeSrc": "19583:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19583:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19575:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19575:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19617:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19617:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19632:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19632:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19640:6:136",
                            "nodeType": "YulLiteral",
                            "src": "19640:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19628:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19628:3:136"
                        },
                        "nativeSrc": "19628:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19628:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19610:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19610:6:136"
                    },
                    "nativeSrc": "19610:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19610:38:136"
                  },
                  "nativeSrc": "19610:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19610:38:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed",
            "nativeSrc": "19466:188:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19534:9:136",
                "nodeType": "YulTypedName",
                "src": "19534:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19545:6:136",
                "nodeType": "YulTypedName",
                "src": "19545:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19556:4:136",
                "nodeType": "YulTypedName",
                "src": "19556:4:136",
                "type": ""
              }
            ],
            "src": "19466:188:136"
          },
          {
            "body": {
              "nativeSrc": "19783:132:136",
              "nodeType": "YulBlock",
              "src": "19783:132:136",
              "statements": [
                {
                  "nativeSrc": "19793:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19793:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19805:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19805:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19816:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19816:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19801:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19801:3:136"
                    },
                    "nativeSrc": "19801:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19801:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19793:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19793:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19853:22:136",
                    "nodeType": "YulBlock",
                    "src": "19853:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "19855:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "19855:16:136"
                          },
                          "nativeSrc": "19855:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19855:18:136"
                        },
                        "nativeSrc": "19855:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19855:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19841:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19841:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19849:1:136",
                            "nodeType": "YulLiteral",
                            "src": "19849:1:136",
                            "type": "",
                            "value": "7"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "19838:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "19838:2:136"
                        },
                        "nativeSrc": "19838:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19838:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19831:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19831:6:136"
                    },
                    "nativeSrc": "19831:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19831:21:136"
                  },
                  "nativeSrc": "19828:47:136",
                  "nodeType": "YulIf",
                  "src": "19828:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19891:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19891:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "19902:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19902:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19884:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19884:6:136"
                    },
                    "nativeSrc": "19884:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19884:25:136"
                  },
                  "nativeSrc": "19884:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19884:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_reversed",
            "nativeSrc": "19659:256:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19752:9:136",
                "nodeType": "YulTypedName",
                "src": "19752:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19763:6:136",
                "nodeType": "YulTypedName",
                "src": "19763:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19774:4:136",
                "nodeType": "YulTypedName",
                "src": "19774:4:136",
                "type": ""
              }
            ],
            "src": "19659:256:136"
          },
          {
            "body": {
              "nativeSrc": "19990:156:136",
              "nodeType": "YulBlock",
              "src": "19990:156:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20036:16:136",
                    "nodeType": "YulBlock",
                    "src": "20036:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20045:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20045:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20048:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20048:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20038:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20038:6:136"
                          },
                          "nativeSrc": "20038:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20038:12:136"
                        },
                        "nativeSrc": "20038:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20038:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20011:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20011:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20020:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20020:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20007:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20007:3:136"
                        },
                        "nativeSrc": "20007:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20007:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20032:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20032:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20003:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20003:3:136"
                    },
                    "nativeSrc": "20003:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20003:32:136"
                  },
                  "nativeSrc": "20000:52:136",
                  "nodeType": "YulIf",
                  "src": "20000:52:136"
                },
                {
                  "nativeSrc": "20061:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20061:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "20074:1:136",
                    "nodeType": "YulLiteral",
                    "src": "20074:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20065:5:136",
                      "nodeType": "YulTypedName",
                      "src": "20065:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20084:32:136",
                  "nodeType": "YulAssignment",
                  "src": "20084:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20106:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20106:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20093:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "20093:12:136"
                    },
                    "nativeSrc": "20093:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20093:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "20084:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20084:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20125:15:136",
                  "nodeType": "YulAssignment",
                  "src": "20125:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "20135:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "20135:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20125:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20125:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32",
            "nativeSrc": "19920:226:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19956:9:136",
                "nodeType": "YulTypedName",
                "src": "19956:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19967:7:136",
                "nodeType": "YulTypedName",
                "src": "19967:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19979:6:136",
                "nodeType": "YulTypedName",
                "src": "19979:6:136",
                "type": ""
              }
            ],
            "src": "19920:226:136"
          },
          {
            "body": {
              "nativeSrc": "20306:162:136",
              "nodeType": "YulBlock",
              "src": "20306:162:136",
              "statements": [
                {
                  "nativeSrc": "20316:26:136",
                  "nodeType": "YulAssignment",
                  "src": "20316:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20328:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20328:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20339:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20339:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20324:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20324:3:136"
                    },
                    "nativeSrc": "20324:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20324:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20316:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "20316:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20358:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20358:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "20369:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20369:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20351:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20351:6:136"
                    },
                    "nativeSrc": "20351:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20351:25:136"
                  },
                  "nativeSrc": "20351:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20351:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20396:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20396:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20407:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20407:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20392:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20392:3:136"
                        },
                        "nativeSrc": "20392:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20392:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "20412:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20412:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20385:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20385:6:136"
                    },
                    "nativeSrc": "20385:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20385:34:136"
                  },
                  "nativeSrc": "20385:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20385:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20439:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20439:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20450:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20450:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20435:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20435:3:136"
                        },
                        "nativeSrc": "20435:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20435:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "20455:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20455:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20428:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20428:6:136"
                    },
                    "nativeSrc": "20428:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20428:34:136"
                  },
                  "nativeSrc": "20428:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20428:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "20151:317:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20259:9:136",
                "nodeType": "YulTypedName",
                "src": "20259:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "20270:6:136",
                "nodeType": "YulTypedName",
                "src": "20270:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20278:6:136",
                "nodeType": "YulTypedName",
                "src": "20278:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20286:6:136",
                "nodeType": "YulTypedName",
                "src": "20286:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20297:4:136",
                "nodeType": "YulTypedName",
                "src": "20297:4:136",
                "type": ""
              }
            ],
            "src": "20151:317:136"
          },
          {
            "body": {
              "nativeSrc": "20577:340:136",
              "nodeType": "YulBlock",
              "src": "20577:340:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20623:16:136",
                    "nodeType": "YulBlock",
                    "src": "20623:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20632:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20632:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20635:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20635:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20625:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20625:6:136"
                          },
                          "nativeSrc": "20625:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20625:12:136"
                        },
                        "nativeSrc": "20625:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20625:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20598:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20598:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20607:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20607:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20594:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20594:3:136"
                        },
                        "nativeSrc": "20594:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20594:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20619:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20619:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20590:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20590:3:136"
                    },
                    "nativeSrc": "20590:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20590:32:136"
                  },
                  "nativeSrc": "20587:52:136",
                  "nodeType": "YulIf",
                  "src": "20587:52:136"
                },
                {
                  "nativeSrc": "20648:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20648:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20675:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20675:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20662:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "20662:12:136"
                    },
                    "nativeSrc": "20662:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20662:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "20652:6:136",
                      "nodeType": "YulTypedName",
                      "src": "20652:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20728:16:136",
                    "nodeType": "YulBlock",
                    "src": "20728:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20737:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20737:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20740:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20740:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20730:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20730:6:136"
                          },
                          "nativeSrc": "20730:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20730:12:136"
                        },
                        "nativeSrc": "20730:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20730:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "20700:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20700:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20708:18:136",
                        "nodeType": "YulLiteral",
                        "src": "20708:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20697:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "20697:2:136"
                    },
                    "nativeSrc": "20697:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20697:30:136"
                  },
                  "nativeSrc": "20694:50:136",
                  "nodeType": "YulIf",
                  "src": "20694:50:136"
                },
                {
                  "nativeSrc": "20753:104:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20753:104:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20829:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20829:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "20840:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20840:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20825:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20825:3:136"
                        },
                        "nativeSrc": "20825:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20825:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20849:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20849:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "20779:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "20779:45:136"
                    },
                    "nativeSrc": "20779:78:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20779:78:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "20757:8:136",
                      "nodeType": "YulTypedName",
                      "src": "20757:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "20767:8:136",
                      "nodeType": "YulTypedName",
                      "src": "20767:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20866:18:136",
                  "nodeType": "YulAssignment",
                  "src": "20866:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "20876:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "20876:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20866:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20866:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20893:18:136",
                  "nodeType": "YulAssignment",
                  "src": "20893:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "20903:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "20903:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "20893:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20893:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes4_$dyn_calldata_ptr",
            "nativeSrc": "20473:444:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20535:9:136",
                "nodeType": "YulTypedName",
                "src": "20535:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20546:7:136",
                "nodeType": "YulTypedName",
                "src": "20546:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20558:6:136",
                "nodeType": "YulTypedName",
                "src": "20558:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20566:6:136",
                "nodeType": "YulTypedName",
                "src": "20566:6:136",
                "type": ""
              }
            ],
            "src": "20473:444:136"
          },
          {
            "body": {
              "nativeSrc": "21121:479:136",
              "nodeType": "YulBlock",
              "src": "21121:479:136",
              "statements": [
                {
                  "nativeSrc": "21131:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21131:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21149:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21149:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21160:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21160:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21145:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21145:3:136"
                    },
                    "nativeSrc": "21145:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21145:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "21135:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21135:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21179:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21179:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21190:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21190:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21172:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21172:6:136"
                    },
                    "nativeSrc": "21172:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21172:21:136"
                  },
                  "nativeSrc": "21172:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21172:21:136"
                },
                {
                  "nativeSrc": "21202:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21202:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "21213:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "21213:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "21206:3:136",
                      "nodeType": "YulTypedName",
                      "src": "21206:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21228:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21228:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21248:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21248:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21242:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21242:5:136"
                    },
                    "nativeSrc": "21242:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21242:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "21232:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21232:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "21271:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21271:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "21279:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21279:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21264:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21264:6:136"
                    },
                    "nativeSrc": "21264:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21264:22:136"
                  },
                  "nativeSrc": "21264:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21264:22:136"
                },
                {
                  "nativeSrc": "21295:25:136",
                  "nodeType": "YulAssignment",
                  "src": "21295:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21306:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21306:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21317:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21317:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21302:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21302:3:136"
                    },
                    "nativeSrc": "21302:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21302:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "21295:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21295:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "21329:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21329:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21347:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21347:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21355:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21355:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21343:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21343:3:136"
                    },
                    "nativeSrc": "21343:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21343:15:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "21333:6:136",
                      "nodeType": "YulTypedName",
                      "src": "21333:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21367:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21367:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "21376:1:136",
                    "nodeType": "YulLiteral",
                    "src": "21376:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "21371:1:136",
                      "nodeType": "YulTypedName",
                      "src": "21371:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21435:139:136",
                    "nodeType": "YulBlock",
                    "src": "21435:139:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "21479:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "21479:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "21473:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "21473:5:136"
                              },
                              "nativeSrc": "21473:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "21473:13:136"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "21488:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21488:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_struct_Price",
                            "nativeSrc": "21449:23:136",
                            "nodeType": "YulIdentifier",
                            "src": "21449:23:136"
                          },
                          "nativeSrc": "21449:43:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21449:43:136"
                        },
                        "nativeSrc": "21449:43:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21449:43:136"
                      },
                      {
                        "nativeSrc": "21505:21:136",
                        "nodeType": "YulAssignment",
                        "src": "21505:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "21516:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21516:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21521:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21521:4:136",
                              "type": "",
                              "value": "0x80"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21512:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21512:3:136"
                          },
                          "nativeSrc": "21512:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21512:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "21505:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21505:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "21539:25:136",
                        "nodeType": "YulAssignment",
                        "src": "21539:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "21553:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "21553:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21561:2:136",
                              "nodeType": "YulLiteral",
                              "src": "21561:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21549:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21549:3:136"
                          },
                          "nativeSrc": "21549:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21549:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "21539:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21539:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "21397:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "21397:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "21400:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21400:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "21394:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21394:2:136"
                    },
                    "nativeSrc": "21394:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21394:13:136"
                  },
                  "nativeSrc": "21386:188:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "21408:18:136",
                    "nodeType": "YulBlock",
                    "src": "21408:18:136",
                    "statements": [
                      {
                        "nativeSrc": "21410:14:136",
                        "nodeType": "YulAssignment",
                        "src": "21410:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "21419:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "21419:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21422:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21422:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "21415:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21415:3:136"
                          },
                          "nativeSrc": "21415:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21415:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "21410:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "21410:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "21390:3:136",
                    "nodeType": "YulBlock",
                    "src": "21390:3:136",
                    "statements": []
                  },
                  "src": "21386:188:136"
                },
                {
                  "nativeSrc": "21583:11:136",
                  "nodeType": "YulAssignment",
                  "src": "21583:11:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "21591:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "21591:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21583:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "21583:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "20922:678:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21090:9:136",
                "nodeType": "YulTypedName",
                "src": "21090:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21101:6:136",
                "nodeType": "YulTypedName",
                "src": "21101:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21112:4:136",
                "nodeType": "YulTypedName",
                "src": "21112:4:136",
                "type": ""
              }
            ],
            "src": "20922:678:136"
          },
          {
            "body": {
              "nativeSrc": "21706:144:136",
              "nodeType": "YulBlock",
              "src": "21706:144:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21752:16:136",
                    "nodeType": "YulBlock",
                    "src": "21752:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21761:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21761:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21764:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21764:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21754:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21754:6:136"
                          },
                          "nativeSrc": "21754:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21754:12:136"
                        },
                        "nativeSrc": "21754:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21754:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21727:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "21727:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21736:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "21736:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21723:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21723:3:136"
                        },
                        "nativeSrc": "21723:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21723:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21748:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21748:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21719:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21719:3:136"
                    },
                    "nativeSrc": "21719:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21719:32:136"
                  },
                  "nativeSrc": "21716:52:136",
                  "nodeType": "YulIf",
                  "src": "21716:52:136"
                },
                {
                  "nativeSrc": "21777:67:136",
                  "nodeType": "YulAssignment",
                  "src": "21777:67:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21825:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21825:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21836:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "21836:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLAv2_calldata",
                      "nativeSrc": "21787:37:136",
                      "nodeType": "YulIdentifier",
                      "src": "21787:37:136"
                    },
                    "nativeSrc": "21787:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21787:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21777:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21777:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLAv2_$29146_calldata_ptr",
            "nativeSrc": "21605:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21672:9:136",
                "nodeType": "YulTypedName",
                "src": "21672:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21683:7:136",
                "nodeType": "YulTypedName",
                "src": "21683:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21695:6:136",
                "nodeType": "YulTypedName",
                "src": "21695:6:136",
                "type": ""
              }
            ],
            "src": "21605:245:136"
          },
          {
            "body": {
              "nativeSrc": "22088:726:136",
              "nodeType": "YulBlock",
              "src": "22088:726:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22134:16:136",
                    "nodeType": "YulBlock",
                    "src": "22134:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22143:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22143:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22146:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22146:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22136:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22136:6:136"
                          },
                          "nativeSrc": "22136:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22136:12:136"
                        },
                        "nativeSrc": "22136:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22136:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22109:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22109:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22118:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22118:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22105:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22105:3:136"
                        },
                        "nativeSrc": "22105:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22105:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22130:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22130:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22101:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22101:3:136"
                    },
                    "nativeSrc": "22101:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22101:32:136"
                  },
                  "nativeSrc": "22098:52:136",
                  "nodeType": "YulIf",
                  "src": "22098:52:136"
                },
                {
                  "nativeSrc": "22159:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22159:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22186:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "22186:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22173:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22173:12:136"
                    },
                    "nativeSrc": "22173:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22173:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "22163:6:136",
                      "nodeType": "YulTypedName",
                      "src": "22163:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22239:16:136",
                    "nodeType": "YulBlock",
                    "src": "22239:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22248:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22248:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22251:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22251:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22241:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22241:6:136"
                          },
                          "nativeSrc": "22241:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22241:12:136"
                        },
                        "nativeSrc": "22241:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22241:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "22211:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22211:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22219:18:136",
                        "nodeType": "YulLiteral",
                        "src": "22219:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22208:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22208:2:136"
                    },
                    "nativeSrc": "22208:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22208:30:136"
                  },
                  "nativeSrc": "22205:50:136",
                  "nodeType": "YulIf",
                  "src": "22205:50:136"
                },
                {
                  "nativeSrc": "22264:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22264:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22321:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22321:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "22332:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22332:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22317:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22317:3:136"
                        },
                        "nativeSrc": "22317:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22317:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22341:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22341:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "22290:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "22290:26:136"
                    },
                    "nativeSrc": "22290:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22290:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "22268:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22268:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "22278:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22278:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22358:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22358:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "22368:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22368:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22358:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22358:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22385:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22385:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "22395:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22395:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "22385:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22385:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22412:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22412:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22442:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22442:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22453:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22453:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22438:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22438:3:136"
                        },
                        "nativeSrc": "22438:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22438:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22425:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22425:12:136"
                    },
                    "nativeSrc": "22425:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22425:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "22416:5:136",
                      "nodeType": "YulTypedName",
                      "src": "22416:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "22491:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22491:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "22466:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "22466:24:136"
                    },
                    "nativeSrc": "22466:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22466:31:136"
                  },
                  "nativeSrc": "22466:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22466:31:136"
                },
                {
                  "nativeSrc": "22506:15:136",
                  "nodeType": "YulAssignment",
                  "src": "22506:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "22516:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "22516:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "22506:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22506:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22530:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22530:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22563:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22563:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22574:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22574:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22559:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22559:3:136"
                        },
                        "nativeSrc": "22559:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22559:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22546:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "22546:12:136"
                    },
                    "nativeSrc": "22546:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22546:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "22534:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22534:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22623:16:136",
                    "nodeType": "YulBlock",
                    "src": "22623:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22632:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22632:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22635:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22635:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22625:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22625:6:136"
                          },
                          "nativeSrc": "22625:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22625:12:136"
                        },
                        "nativeSrc": "22625:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22625:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "22593:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "22593:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22603:18:136",
                        "nodeType": "YulLiteral",
                        "src": "22603:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22590:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22590:2:136"
                    },
                    "nativeSrc": "22590:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22590:32:136"
                  },
                  "nativeSrc": "22587:52:136",
                  "nodeType": "YulIf",
                  "src": "22587:52:136"
                },
                {
                  "nativeSrc": "22648:106:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22648:106:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22724:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22724:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "22735:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "22735:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22720:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22720:3:136"
                        },
                        "nativeSrc": "22720:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22720:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22746:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22746:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_calldata_dyn_calldata",
                      "nativeSrc": "22674:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "22674:45:136"
                    },
                    "nativeSrc": "22674:80:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22674:80:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "22652:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22652:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "22662:8:136",
                      "nodeType": "YulTypedName",
                      "src": "22662:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22763:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22763:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "22773:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22773:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "22763:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22763:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22790:18:136",
                  "nodeType": "YulAssignment",
                  "src": "22790:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "22800:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "22800:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "22790:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22790:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequestTemplate_$29115t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "21855:959:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22022:9:136",
                "nodeType": "YulTypedName",
                "src": "22022:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22033:7:136",
                "nodeType": "YulTypedName",
                "src": "22033:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22045:6:136",
                "nodeType": "YulTypedName",
                "src": "22045:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22053:6:136",
                "nodeType": "YulTypedName",
                "src": "22053:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "22061:6:136",
                "nodeType": "YulTypedName",
                "src": "22061:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "22069:6:136",
                "nodeType": "YulTypedName",
                "src": "22069:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "22077:6:136",
                "nodeType": "YulTypedName",
                "src": "22077:6:136",
                "type": ""
              }
            ],
            "src": "21855:959:136"
          },
          {
            "body": {
              "nativeSrc": "22851:95:136",
              "nodeType": "YulBlock",
              "src": "22851:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22868:1:136",
                        "nodeType": "YulLiteral",
                        "src": "22868:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22875:3:136",
                            "nodeType": "YulLiteral",
                            "src": "22875:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22880:10:136",
                            "nodeType": "YulLiteral",
                            "src": "22880:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "22871:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22871:3:136"
                        },
                        "nativeSrc": "22871:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22871:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22861:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22861:6:136"
                    },
                    "nativeSrc": "22861:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22861:31:136"
                  },
                  "nativeSrc": "22861:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22861:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22908:1:136",
                        "nodeType": "YulLiteral",
                        "src": "22908:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22911:4:136",
                        "nodeType": "YulLiteral",
                        "src": "22911:4:136",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22901:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22901:6:136"
                    },
                    "nativeSrc": "22901:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22901:15:136"
                  },
                  "nativeSrc": "22901:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22901:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22932:1:136",
                        "nodeType": "YulLiteral",
                        "src": "22932:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22935:4:136",
                        "nodeType": "YulLiteral",
                        "src": "22935:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "22925:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22925:6:136"
                    },
                    "nativeSrc": "22925:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22925:15:136"
                  },
                  "nativeSrc": "22925:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22925:15:136"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "22819:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "22819:127:136"
          },
          {
            "body": {
              "nativeSrc": "22983:95:136",
              "nodeType": "YulBlock",
              "src": "22983:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23000:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23000:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "23007:3:136",
                            "nodeType": "YulLiteral",
                            "src": "23007:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23012:10:136",
                            "nodeType": "YulLiteral",
                            "src": "23012:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "23003:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23003:3:136"
                        },
                        "nativeSrc": "23003:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23003:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22993:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22993:6:136"
                    },
                    "nativeSrc": "22993:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22993:31:136"
                  },
                  "nativeSrc": "22993:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22993:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23040:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23040:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23043:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23043:4:136",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23033:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23033:6:136"
                    },
                    "nativeSrc": "23033:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23033:15:136"
                  },
                  "nativeSrc": "23033:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23033:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23064:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23064:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23067:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23067:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "23057:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23057:6:136"
                    },
                    "nativeSrc": "23057:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23057:15:136"
                  },
                  "nativeSrc": "23057:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23057:15:136"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "22951:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "22951:127:136"
          },
          {
            "body": {
              "nativeSrc": "23127:121:136",
              "nodeType": "YulBlock",
              "src": "23127:121:136",
              "statements": [
                {
                  "nativeSrc": "23137:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23137:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "23152:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "23152:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23155:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23155:4:136",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23148:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23148:3:136"
                    },
                    "nativeSrc": "23148:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23148:12:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "23141:3:136",
                      "nodeType": "YulTypedName",
                      "src": "23141:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23184:22:136",
                    "nodeType": "YulBlock",
                    "src": "23184:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "23186:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "23186:16:136"
                          },
                          "nativeSrc": "23186:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23186:18:136"
                        },
                        "nativeSrc": "23186:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23186:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "23179:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23179:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23172:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23172:6:136"
                    },
                    "nativeSrc": "23172:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23172:11:136"
                  },
                  "nativeSrc": "23169:37:136",
                  "nodeType": "YulIf",
                  "src": "23169:37:136"
                },
                {
                  "nativeSrc": "23215:27:136",
                  "nodeType": "YulAssignment",
                  "src": "23215:27:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "23228:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "23228:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23231:4:136",
                            "nodeType": "YulLiteral",
                            "src": "23231:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23224:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23224:3:136"
                        },
                        "nativeSrc": "23224:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23224:12:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "23238:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23238:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "23220:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23220:3:136"
                    },
                    "nativeSrc": "23220:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23220:22:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "23215:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "23215:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "23083:165:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "23112:1:136",
                "nodeType": "YulTypedName",
                "src": "23112:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "23115:1:136",
                "nodeType": "YulTypedName",
                "src": "23115:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "23121:1:136",
                "nodeType": "YulTypedName",
                "src": "23121:1:136",
                "type": ""
              }
            ],
            "src": "23083:165:136"
          },
          {
            "body": {
              "nativeSrc": "23299:102:136",
              "nodeType": "YulBlock",
              "src": "23299:102:136",
              "statements": [
                {
                  "nativeSrc": "23309:38:136",
                  "nodeType": "YulAssignment",
                  "src": "23309:38:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "23324:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "23324:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23327:4:136",
                            "nodeType": "YulLiteral",
                            "src": "23327:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23320:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23320:3:136"
                        },
                        "nativeSrc": "23320:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23320:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "23338:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "23338:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23341:4:136",
                            "nodeType": "YulLiteral",
                            "src": "23341:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23334:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23334:3:136"
                        },
                        "nativeSrc": "23334:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23334:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23316:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23316:3:136"
                    },
                    "nativeSrc": "23316:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23316:31:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "23309:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23309:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23373:22:136",
                    "nodeType": "YulBlock",
                    "src": "23373:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "23375:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "23375:16:136"
                          },
                          "nativeSrc": "23375:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23375:18:136"
                        },
                        "nativeSrc": "23375:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23375:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "23362:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23362:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23367:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23367:4:136",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23359:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "23359:2:136"
                    },
                    "nativeSrc": "23359:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23359:13:136"
                  },
                  "nativeSrc": "23356:39:136",
                  "nodeType": "YulIf",
                  "src": "23356:39:136"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "23253:148:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "23282:1:136",
                "nodeType": "YulTypedName",
                "src": "23282:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "23285:1:136",
                "nodeType": "YulTypedName",
                "src": "23285:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "23291:3:136",
                "nodeType": "YulTypedName",
                "src": "23291:3:136",
                "type": ""
              }
            ],
            "src": "23253:148:136"
          },
          {
            "body": {
              "nativeSrc": "23442:121:136",
              "nodeType": "YulBlock",
              "src": "23442:121:136",
              "statements": [
                {
                  "nativeSrc": "23452:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23452:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "23467:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "23467:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23470:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23470:4:136",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23463:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23463:3:136"
                    },
                    "nativeSrc": "23463:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23463:12:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "23456:3:136",
                      "nodeType": "YulTypedName",
                      "src": "23456:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23499:22:136",
                    "nodeType": "YulBlock",
                    "src": "23499:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "23501:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "23501:16:136"
                          },
                          "nativeSrc": "23501:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23501:18:136"
                        },
                        "nativeSrc": "23501:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23501:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "23494:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23494:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23487:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23487:6:136"
                    },
                    "nativeSrc": "23487:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23487:11:136"
                  },
                  "nativeSrc": "23484:37:136",
                  "nodeType": "YulIf",
                  "src": "23484:37:136"
                },
                {
                  "nativeSrc": "23530:27:136",
                  "nodeType": "YulAssignment",
                  "src": "23530:27:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "23543:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "23543:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23546:4:136",
                            "nodeType": "YulLiteral",
                            "src": "23546:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23539:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23539:3:136"
                        },
                        "nativeSrc": "23539:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23539:12:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "23553:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "23553:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "23535:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23535:3:136"
                    },
                    "nativeSrc": "23535:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23535:22:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "23530:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "23530:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "23406:157:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "23427:1:136",
                "nodeType": "YulTypedName",
                "src": "23427:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "23430:1:136",
                "nodeType": "YulTypedName",
                "src": "23430:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "23436:1:136",
                "nodeType": "YulTypedName",
                "src": "23436:1:136",
                "type": ""
              }
            ],
            "src": "23406:157:136"
          },
          {
            "body": {
              "nativeSrc": "23600:95:136",
              "nodeType": "YulBlock",
              "src": "23600:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23617:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23617:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "23624:3:136",
                            "nodeType": "YulLiteral",
                            "src": "23624:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23629:10:136",
                            "nodeType": "YulLiteral",
                            "src": "23629:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "23620:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23620:3:136"
                        },
                        "nativeSrc": "23620:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23620:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23610:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23610:6:136"
                    },
                    "nativeSrc": "23610:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23610:31:136"
                  },
                  "nativeSrc": "23610:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23610:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23657:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23657:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23660:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23660:4:136",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23650:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23650:6:136"
                    },
                    "nativeSrc": "23650:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23650:15:136"
                  },
                  "nativeSrc": "23650:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23650:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23681:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23681:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23684:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23684:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "23674:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23674:6:136"
                    },
                    "nativeSrc": "23674:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23674:15:136"
                  },
                  "nativeSrc": "23674:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23674:15:136"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "23568:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "23568:127:136"
          },
          {
            "body": {
              "nativeSrc": "23773:114:136",
              "nodeType": "YulBlock",
              "src": "23773:114:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "23817:22:136",
                    "nodeType": "YulBlock",
                    "src": "23817:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "23819:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "23819:16:136"
                          },
                          "nativeSrc": "23819:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23819:18:136"
                        },
                        "nativeSrc": "23819:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23819:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "23789:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23789:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23797:18:136",
                        "nodeType": "YulLiteral",
                        "src": "23797:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23786:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "23786:2:136"
                    },
                    "nativeSrc": "23786:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23786:30:136"
                  },
                  "nativeSrc": "23783:56:136",
                  "nodeType": "YulIf",
                  "src": "23783:56:136"
                },
                {
                  "nativeSrc": "23848:33:136",
                  "nodeType": "YulAssignment",
                  "src": "23848:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "23864:1:136",
                            "nodeType": "YulLiteral",
                            "src": "23864:1:136",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "23867:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23867:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "23860:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23860:3:136"
                        },
                        "nativeSrc": "23860:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23860:14:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23876:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23876:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23856:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23856:3:136"
                    },
                    "nativeSrc": "23856:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23856:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "23848:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23848:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_struct_Info_dyn",
            "nativeSrc": "23700:187:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "23753:6:136",
                "nodeType": "YulTypedName",
                "src": "23753:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "23764:4:136",
                "nodeType": "YulTypedName",
                "src": "23764:4:136",
                "type": ""
              }
            ],
            "src": "23700:187:136"
          },
          {
            "body": {
              "nativeSrc": "23949:106:136",
              "nodeType": "YulBlock",
              "src": "23949:106:136",
              "statements": [
                {
                  "nativeSrc": "23959:22:136",
                  "nodeType": "YulAssignment",
                  "src": "23959:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "23974:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23974:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23968:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23968:5:136"
                    },
                    "nativeSrc": "23968:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23968:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "23959:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23959:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24033:16:136",
                    "nodeType": "YulBlock",
                    "src": "24033:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24042:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24042:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24045:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24045:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24035:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24035:6:136"
                          },
                          "nativeSrc": "24035:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24035:12:136"
                        },
                        "nativeSrc": "24035:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24035:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24003:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "24003:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "24021:1:136",
                                "nodeType": "YulLiteral",
                                "src": "24021:1:136",
                                "type": "",
                                "value": "0"
                              },
                              {
                                "name": "value",
                                "nativeSrc": "24024:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "24024:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "24010:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "24010:10:136"
                            },
                            "nativeSrc": "24010:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24010:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24000:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "24000:2:136"
                        },
                        "nativeSrc": "24000:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24000:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23993:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23993:6:136"
                    },
                    "nativeSrc": "23993:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23993:39:136"
                  },
                  "nativeSrc": "23990:59:136",
                  "nodeType": "YulIf",
                  "src": "23990:59:136"
                }
              ]
            },
            "name": "abi_decode_int8_fromMemory",
            "nativeSrc": "23892:163:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "23928:6:136",
                "nodeType": "YulTypedName",
                "src": "23928:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "23939:5:136",
                "nodeType": "YulTypedName",
                "src": "23939:5:136",
                "type": ""
              }
            ],
            "src": "23892:163:136"
          },
          {
            "body": {
              "nativeSrc": "24124:450:136",
              "nodeType": "YulBlock",
              "src": "24124:450:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24173:16:136",
                    "nodeType": "YulBlock",
                    "src": "24173:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24182:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24182:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24185:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24185:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24175:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24175:6:136"
                          },
                          "nativeSrc": "24175:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24175:12:136"
                        },
                        "nativeSrc": "24175:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24175:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "24152:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24152:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24160:4:136",
                                "nodeType": "YulLiteral",
                                "src": "24160:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24148:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24148:3:136"
                            },
                            "nativeSrc": "24148:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24148:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "24167:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24167:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "24144:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24144:3:136"
                        },
                        "nativeSrc": "24144:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24144:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24137:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24137:6:136"
                    },
                    "nativeSrc": "24137:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24137:35:136"
                  },
                  "nativeSrc": "24134:55:136",
                  "nodeType": "YulIf",
                  "src": "24134:55:136"
                },
                {
                  "nativeSrc": "24198:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24198:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24218:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24218:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24212:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24212:5:136"
                    },
                    "nativeSrc": "24212:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24212:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24202:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24202:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24234:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24234:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24249:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24249:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24257:4:136",
                        "nodeType": "YulLiteral",
                        "src": "24257:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24245:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24245:3:136"
                    },
                    "nativeSrc": "24245:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24245:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "24238:3:136",
                      "nodeType": "YulTypedName",
                      "src": "24238:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24271:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24271:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24286:1:136",
                    "nodeType": "YulLiteral",
                    "src": "24286:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "array_1",
                      "nativeSrc": "24275:7:136",
                      "nodeType": "YulTypedName",
                      "src": "24275:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24296:63:136",
                  "nodeType": "YulAssignment",
                  "src": "24296:63:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "24351:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24351:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_bytes",
                          "nativeSrc": "24323:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "24323:27:136"
                        },
                        "nativeSrc": "24323:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24323:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "24307:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "24307:15:136"
                    },
                    "nativeSrc": "24307:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24307:52:136"
                  },
                  "variableNames": [
                    {
                      "name": "array_1",
                      "nativeSrc": "24296:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "24296:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "array_1",
                        "nativeSrc": "24375:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "24375:7:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24384:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24384:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24368:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24368:6:136"
                    },
                    "nativeSrc": "24368:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24368:23:136"
                  },
                  "nativeSrc": "24368:23:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24368:23:136"
                },
                {
                  "body": {
                    "nativeSrc": "24429:16:136",
                    "nodeType": "YulBlock",
                    "src": "24429:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24438:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24438:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24441:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24441:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24431:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24431:6:136"
                          },
                          "nativeSrc": "24431:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24431:12:136"
                        },
                        "nativeSrc": "24431:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24431:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "24410:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24410:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "24415:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24415:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24406:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24406:3:136"
                        },
                        "nativeSrc": "24406:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24406:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "24424:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24424:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24403:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "24403:2:136"
                    },
                    "nativeSrc": "24403:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24403:25:136"
                  },
                  "nativeSrc": "24400:45:136",
                  "nodeType": "YulIf",
                  "src": "24400:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "array_1",
                            "nativeSrc": "24464:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "24464:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24473:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24473:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24460:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24460:3:136"
                        },
                        "nativeSrc": "24460:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24460:18:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "24480:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24480:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24485:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24485:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "24454:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24454:5:136"
                    },
                    "nativeSrc": "24454:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24454:38:136"
                  },
                  "nativeSrc": "24454:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24454:38:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "array_1",
                                "nativeSrc": "24516:7:136",
                                "nodeType": "YulIdentifier",
                                "src": "24516:7:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "24525:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24525:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24512:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24512:3:136"
                            },
                            "nativeSrc": "24512:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24512:20:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24534:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24534:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24508:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24508:3:136"
                        },
                        "nativeSrc": "24508:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24508:31:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24541:1:136",
                        "nodeType": "YulLiteral",
                        "src": "24541:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24501:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24501:6:136"
                    },
                    "nativeSrc": "24501:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24501:42:136"
                  },
                  "nativeSrc": "24501:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24501:42:136"
                },
                {
                  "nativeSrc": "24552:16:136",
                  "nodeType": "YulAssignment",
                  "src": "24552:16:136",
                  "value": {
                    "name": "array_1",
                    "nativeSrc": "24561:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "24561:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "24552:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24552:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "24060:514:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "24098:6:136",
                "nodeType": "YulTypedName",
                "src": "24098:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "24106:3:136",
                "nodeType": "YulTypedName",
                "src": "24106:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "24114:5:136",
                "nodeType": "YulTypedName",
                "src": "24114:5:136",
                "type": ""
              }
            ],
            "src": "24060:514:136"
          },
          {
            "body": {
              "nativeSrc": "24629:56:136",
              "nodeType": "YulBlock",
              "src": "24629:56:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24663:16:136",
                    "nodeType": "YulBlock",
                    "src": "24663:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24672:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24672:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24675:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24675:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24665:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24665:6:136"
                          },
                          "nativeSrc": "24665:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24665:12:136"
                        },
                        "nativeSrc": "24665:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24665:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24652:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "24652:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24659:1:136",
                            "nodeType": "YulLiteral",
                            "src": "24659:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "24649:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "24649:2:136"
                        },
                        "nativeSrc": "24649:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24649:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24642:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24642:6:136"
                    },
                    "nativeSrc": "24642:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24642:20:136"
                  },
                  "nativeSrc": "24639:40:136",
                  "nodeType": "YulIf",
                  "src": "24639:40:136"
                }
              ]
            },
            "name": "validator_revert_enum_Mappers",
            "nativeSrc": "24579:106:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24618:5:136",
                "nodeType": "YulTypedName",
                "src": "24618:5:136",
                "type": ""
              }
            ],
            "src": "24579:106:136"
          },
          {
            "body": {
              "nativeSrc": "24755:83:136",
              "nodeType": "YulBlock",
              "src": "24755:83:136",
              "statements": [
                {
                  "nativeSrc": "24765:22:136",
                  "nodeType": "YulAssignment",
                  "src": "24765:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24780:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24780:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24774:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24774:5:136"
                    },
                    "nativeSrc": "24774:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24774:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "24765:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24765:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24826:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "24826:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_enum_Mappers",
                      "nativeSrc": "24796:29:136",
                      "nodeType": "YulIdentifier",
                      "src": "24796:29:136"
                    },
                    "nativeSrc": "24796:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24796:36:136"
                  },
                  "nativeSrc": "24796:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24796:36:136"
                }
              ]
            },
            "name": "abi_decode_enum_Mappers_fromMemory",
            "nativeSrc": "24690:148:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "24734:6:136",
                "nodeType": "YulTypedName",
                "src": "24734:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "24745:5:136",
                "nodeType": "YulTypedName",
                "src": "24745:5:136",
                "type": ""
              }
            ],
            "src": "24690:148:136"
          },
          {
            "body": {
              "nativeSrc": "24917:1109:136",
              "nodeType": "YulBlock",
              "src": "24917:1109:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24961:16:136",
                    "nodeType": "YulBlock",
                    "src": "24961:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24970:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24970:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24973:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24973:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24963:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24963:6:136"
                          },
                          "nativeSrc": "24963:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24963:12:136"
                        },
                        "nativeSrc": "24963:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24963:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "24938:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "24938:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "24943:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24943:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "24934:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24934:3:136"
                        },
                        "nativeSrc": "24934:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24934:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24955:4:136",
                        "nodeType": "YulLiteral",
                        "src": "24955:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "24930:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24930:3:136"
                    },
                    "nativeSrc": "24930:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24930:30:136"
                  },
                  "nativeSrc": "24927:50:136",
                  "nodeType": "YulIf",
                  "src": "24927:50:136"
                },
                {
                  "nativeSrc": "24986:31:136",
                  "nodeType": "YulAssignment",
                  "src": "24986:31:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_6007",
                      "nativeSrc": "24995:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "24995:20:136"
                    },
                    "nativeSrc": "24995:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24995:22:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "24986:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24986:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "25026:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25026:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25047:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25047:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25041:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25041:5:136"
                    },
                    "nativeSrc": "25041:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25041:16:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "25030:7:136",
                      "nodeType": "YulTypedName",
                      "src": "25030:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "25096:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "25096:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_enum_Mappers",
                      "nativeSrc": "25066:29:136",
                      "nodeType": "YulIdentifier",
                      "src": "25066:29:136"
                    },
                    "nativeSrc": "25066:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25066:38:136"
                  },
                  "nativeSrc": "25066:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25066:38:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25120:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "25120:5:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "25127:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "25127:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25113:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25113:6:136"
                    },
                    "nativeSrc": "25113:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25113:22:136"
                  },
                  "nativeSrc": "25113:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25113:22:136"
                },
                {
                  "nativeSrc": "25144:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25144:39:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25168:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25168:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25179:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25179:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25164:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25164:3:136"
                        },
                        "nativeSrc": "25164:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25164:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25158:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25158:5:136"
                    },
                    "nativeSrc": "25158:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25158:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "25148:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25148:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25226:16:136",
                    "nodeType": "YulBlock",
                    "src": "25226:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25235:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25235:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25238:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25238:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25228:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25228:6:136"
                          },
                          "nativeSrc": "25228:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25228:12:136"
                        },
                        "nativeSrc": "25228:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25228:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25198:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25198:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25206:18:136",
                        "nodeType": "YulLiteral",
                        "src": "25206:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25195:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25195:2:136"
                    },
                    "nativeSrc": "25195:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25195:30:136"
                  },
                  "nativeSrc": "25192:50:136",
                  "nodeType": "YulIf",
                  "src": "25192:50:136"
                },
                {
                  "nativeSrc": "25251:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25251:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25265:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25265:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "25276:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25276:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25261:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25261:3:136"
                    },
                    "nativeSrc": "25261:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25261:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "25255:2:136",
                      "nodeType": "YulTypedName",
                      "src": "25255:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25327:16:136",
                    "nodeType": "YulBlock",
                    "src": "25327:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25336:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25336:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25339:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25339:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25329:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25329:6:136"
                          },
                          "nativeSrc": "25329:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25329:12:136"
                        },
                        "nativeSrc": "25329:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25329:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "25310:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "25310:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25314:4:136",
                                "nodeType": "YulLiteral",
                                "src": "25314:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25306:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25306:3:136"
                            },
                            "nativeSrc": "25306:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25306:13:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "25321:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25321:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "25302:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25302:3:136"
                        },
                        "nativeSrc": "25302:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25302:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "25295:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25295:6:136"
                    },
                    "nativeSrc": "25295:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25295:31:136"
                  },
                  "nativeSrc": "25292:51:136",
                  "nodeType": "YulIf",
                  "src": "25292:51:136"
                },
                {
                  "nativeSrc": "25352:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25352:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "25372:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "25372:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25366:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "25366:5:136"
                    },
                    "nativeSrc": "25366:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25366:9:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "25356:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25356:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25384:79:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25384:79:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "25455:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25455:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_struct_Info_dyn",
                          "nativeSrc": "25411:43:136",
                          "nodeType": "YulIdentifier",
                          "src": "25411:43:136"
                        },
                        "nativeSrc": "25411:51:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25411:51:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "25395:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "25395:15:136"
                    },
                    "nativeSrc": "25395:68:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25395:68:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "25388:3:136",
                      "nodeType": "YulTypedName",
                      "src": "25388:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25472:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25472:16:136",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "25485:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "25485:3:136"
                  },
                  "variables": [
                    {
                      "name": "array",
                      "nativeSrc": "25476:5:136",
                      "nodeType": "YulTypedName",
                      "src": "25476:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "25504:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25504:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25509:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25509:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25497:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25497:6:136"
                    },
                    "nativeSrc": "25497:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25497:19:136"
                  },
                  "nativeSrc": "25497:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25497:19:136"
                },
                {
                  "nativeSrc": "25525:19:136",
                  "nodeType": "YulAssignment",
                  "src": "25525:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "25536:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25536:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25541:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25541:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25532:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25532:3:136"
                    },
                    "nativeSrc": "25532:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25532:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "25525:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25525:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "25553:46:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25553:46:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "25575:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "25575:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25583:1:136",
                                "nodeType": "YulLiteral",
                                "src": "25583:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "25586:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25586:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25579:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25579:3:136"
                            },
                            "nativeSrc": "25579:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25579:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25571:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25571:3:136"
                        },
                        "nativeSrc": "25571:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25571:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25596:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25596:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25567:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25567:3:136"
                    },
                    "nativeSrc": "25567:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25567:32:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "25557:6:136",
                      "nodeType": "YulTypedName",
                      "src": "25557:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25627:16:136",
                    "nodeType": "YulBlock",
                    "src": "25627:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25636:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25636:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25639:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25639:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25629:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25629:6:136"
                          },
                          "nativeSrc": "25629:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25629:12:136"
                        },
                        "nativeSrc": "25629:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25629:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "25614:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25614:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "25622:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25622:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25611:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25611:2:136"
                    },
                    "nativeSrc": "25611:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25611:15:136"
                  },
                  "nativeSrc": "25608:35:136",
                  "nodeType": "YulIf",
                  "src": "25608:35:136"
                },
                {
                  "nativeSrc": "25652:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25652:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "25667:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "25667:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25671:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25671:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25663:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25663:3:136"
                    },
                    "nativeSrc": "25663:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25663:11:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "25656:3:136",
                      "nodeType": "YulTypedName",
                      "src": "25656:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25739:243:136",
                    "nodeType": "YulBlock",
                    "src": "25739:243:136",
                    "statements": [
                      {
                        "nativeSrc": "25753:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "25753:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "25778:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25778:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "25772:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "25772:5:136"
                          },
                          "nativeSrc": "25772:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25772:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "25757:11:136",
                            "nodeType": "YulTypedName",
                            "src": "25757:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "25834:16:136",
                          "nodeType": "YulBlock",
                          "src": "25834:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25843:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25843:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25846:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25846:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "25836:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25836:6:136"
                                },
                                "nativeSrc": "25836:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "25836:12:136"
                              },
                              "nativeSrc": "25836:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "25836:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "25801:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "25801:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25814:18:136",
                              "nodeType": "YulLiteral",
                              "src": "25814:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "25798:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "25798:2:136"
                          },
                          "nativeSrc": "25798:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25798:35:136"
                        },
                        "nativeSrc": "25795:55:136",
                        "nodeType": "YulIf",
                        "src": "25795:55:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "25870:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25870:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_1",
                                          "nativeSrc": "25912:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "25912:2:136"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "25916:11:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "25916:11:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "25908:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "25908:3:136"
                                      },
                                      "nativeSrc": "25908:20:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "25908:20:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "25930:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "25930:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "25904:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "25904:3:136"
                                  },
                                  "nativeSrc": "25904:29:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "25904:29:136"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "25935:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25935:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "25875:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "25875:28:136"
                              },
                              "nativeSrc": "25875:64:136",
                              "nodeType": "YulFunctionCall",
                              "src": "25875:64:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "25863:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25863:6:136"
                          },
                          "nativeSrc": "25863:77:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25863:77:136"
                        },
                        "nativeSrc": "25863:77:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25863:77:136"
                      },
                      {
                        "nativeSrc": "25953:19:136",
                        "nodeType": "YulAssignment",
                        "src": "25953:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "25964:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25964:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25969:2:136",
                              "nodeType": "YulLiteral",
                              "src": "25969:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "25960:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25960:3:136"
                          },
                          "nativeSrc": "25960:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25960:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "25953:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25953:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "25694:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25694:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "25699:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25699:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "25691:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "25691:2:136"
                    },
                    "nativeSrc": "25691:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25691:15:136"
                  },
                  "nativeSrc": "25683:299:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "25707:23:136",
                    "nodeType": "YulBlock",
                    "src": "25707:23:136",
                    "statements": [
                      {
                        "nativeSrc": "25709:19:136",
                        "nodeType": "YulAssignment",
                        "src": "25709:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "25720:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25720:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25725:2:136",
                              "nodeType": "YulLiteral",
                              "src": "25725:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "25716:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25716:3:136"
                          },
                          "nativeSrc": "25716:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25716:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "25709:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25709:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "25687:3:136",
                    "nodeType": "YulBlock",
                    "src": "25687:3:136",
                    "statements": []
                  },
                  "src": "25683:299:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "26002:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "26002:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26009:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26009:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25998:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25998:3:136"
                        },
                        "nativeSrc": "25998:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25998:14:136"
                      },
                      {
                        "name": "array",
                        "nativeSrc": "26014:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "26014:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25991:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25991:6:136"
                    },
                    "nativeSrc": "25991:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25991:29:136"
                  },
                  "nativeSrc": "25991:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25991:29:136"
                }
              ]
            },
            "name": "abi_decode_struct_Mapper_fromMemory",
            "nativeSrc": "24843:1183:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24888:9:136",
                "nodeType": "YulTypedName",
                "src": "24888:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "24899:3:136",
                "nodeType": "YulTypedName",
                "src": "24899:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "24907:5:136",
                "nodeType": "YulTypedName",
                "src": "24907:5:136",
                "type": ""
              }
            ],
            "src": "24843:1183:136"
          },
          {
            "body": {
              "nativeSrc": "26105:680:136",
              "nodeType": "YulBlock",
              "src": "26105:680:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26149:16:136",
                    "nodeType": "YulBlock",
                    "src": "26149:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26158:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26158:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26161:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26161:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26151:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26151:6:136"
                          },
                          "nativeSrc": "26151:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26151:12:136"
                        },
                        "nativeSrc": "26151:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26151:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "26126:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "26126:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26131:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26131:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26122:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26122:3:136"
                        },
                        "nativeSrc": "26122:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26122:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26143:4:136",
                        "nodeType": "YulLiteral",
                        "src": "26143:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26118:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26118:3:136"
                    },
                    "nativeSrc": "26118:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26118:30:136"
                  },
                  "nativeSrc": "26115:50:136",
                  "nodeType": "YulIf",
                  "src": "26115:50:136"
                },
                {
                  "nativeSrc": "26174:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26174:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26188:1:136",
                    "nodeType": "YulLiteral",
                    "src": "26188:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26178:6:136",
                      "nodeType": "YulTypedName",
                      "src": "26178:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26198:19:136",
                  "nodeType": "YulAssignment",
                  "src": "26198:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26214:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26214:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26208:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26208:5:136"
                    },
                    "nativeSrc": "26208:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26208:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26198:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26198:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "26226:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26226:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26248:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26248:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26256:4:136",
                        "nodeType": "YulLiteral",
                        "src": "26256:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26244:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26244:3:136"
                    },
                    "nativeSrc": "26244:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26244:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "26230:10:136",
                      "nodeType": "YulTypedName",
                      "src": "26230:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26336:22:136",
                    "nodeType": "YulBlock",
                    "src": "26336:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "26338:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "26338:16:136"
                          },
                          "nativeSrc": "26338:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26338:18:136"
                        },
                        "nativeSrc": "26338:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26338:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "26279:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "26279:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26291:18:136",
                            "nodeType": "YulLiteral",
                            "src": "26291:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "26276:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "26276:2:136"
                        },
                        "nativeSrc": "26276:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26276:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "26315:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "26315:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "26327:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26327:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "26312:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "26312:2:136"
                        },
                        "nativeSrc": "26312:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26312:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "26273:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "26273:2:136"
                    },
                    "nativeSrc": "26273:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26273:62:136"
                  },
                  "nativeSrc": "26270:88:136",
                  "nodeType": "YulIf",
                  "src": "26270:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26374:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26374:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "26378:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "26378:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26367:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26367:6:136"
                    },
                    "nativeSrc": "26367:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26367:22:136"
                  },
                  "nativeSrc": "26367:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26367:22:136"
                },
                {
                  "nativeSrc": "26398:15:136",
                  "nodeType": "YulAssignment",
                  "src": "26398:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26407:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "26407:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "26398:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26398:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "26422:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26422:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26443:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26443:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26437:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26437:5:136"
                    },
                    "nativeSrc": "26437:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26437:16:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "26426:7:136",
                      "nodeType": "YulTypedName",
                      "src": "26426:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26488:16:136",
                    "nodeType": "YulBlock",
                    "src": "26488:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26497:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26497:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26500:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26500:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26490:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26490:6:136"
                          },
                          "nativeSrc": "26490:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26490:12:136"
                        },
                        "nativeSrc": "26490:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26490:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "26475:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "26475:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26484:1:136",
                            "nodeType": "YulLiteral",
                            "src": "26484:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "26472:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "26472:2:136"
                        },
                        "nativeSrc": "26472:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26472:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26465:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26465:6:136"
                    },
                    "nativeSrc": "26465:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26465:22:136"
                  },
                  "nativeSrc": "26462:42:136",
                  "nodeType": "YulIf",
                  "src": "26462:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26520:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26520:6:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "26528:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26528:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26513:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26513:6:136"
                    },
                    "nativeSrc": "26513:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26513:23:136"
                  },
                  "nativeSrc": "26513:23:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26513:23:136"
                },
                {
                  "nativeSrc": "26545:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26545:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26570:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26570:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26581:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26581:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26566:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26566:3:136"
                        },
                        "nativeSrc": "26566:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26566:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26560:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26560:5:136"
                    },
                    "nativeSrc": "26560:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26560:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "26549:7:136",
                      "nodeType": "YulTypedName",
                      "src": "26549:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "26619:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26619:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "26594:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "26594:24:136"
                    },
                    "nativeSrc": "26594:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26594:33:136"
                  },
                  "nativeSrc": "26594:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26594:33:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "26647:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26647:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26655:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26655:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26643:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26643:3:136"
                        },
                        "nativeSrc": "26643:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26643:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "26660:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26660:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26636:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26636:6:136"
                    },
                    "nativeSrc": "26636:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26636:32:136"
                  },
                  "nativeSrc": "26636:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26636:32:136"
                },
                {
                  "nativeSrc": "26677:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26677:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26692:1:136",
                    "nodeType": "YulLiteral",
                    "src": "26692:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "26681:7:136",
                      "nodeType": "YulTypedName",
                      "src": "26681:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26702:36:136",
                  "nodeType": "YulAssignment",
                  "src": "26702:36:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26723:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26723:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26734:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26734:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26719:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26719:3:136"
                        },
                        "nativeSrc": "26719:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26719:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26713:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26713:5:136"
                    },
                    "nativeSrc": "26713:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26713:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "26702:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "26702:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "26758:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26758:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26766:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26766:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26754:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26754:3:136"
                        },
                        "nativeSrc": "26754:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26754:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "26771:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26771:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26747:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26747:6:136"
                    },
                    "nativeSrc": "26747:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26747:32:136"
                  },
                  "nativeSrc": "26747:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26747:32:136"
                }
              ]
            },
            "name": "abi_decode_struct_Oracle_fromMemory",
            "nativeSrc": "26031:754:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26076:9:136",
                "nodeType": "YulTypedName",
                "src": "26076:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "26087:3:136",
                "nodeType": "YulTypedName",
                "src": "26087:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "26095:5:136",
                "nodeType": "YulTypedName",
                "src": "26095:5:136",
                "type": ""
              }
            ],
            "src": "26031:754:136"
          },
          {
            "body": {
              "nativeSrc": "26849:106:136",
              "nodeType": "YulBlock",
              "src": "26849:106:136",
              "statements": [
                {
                  "nativeSrc": "26859:22:136",
                  "nodeType": "YulAssignment",
                  "src": "26859:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26874:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26874:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26868:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26868:5:136"
                    },
                    "nativeSrc": "26868:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26868:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "26859:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26859:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26933:16:136",
                    "nodeType": "YulBlock",
                    "src": "26933:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26942:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26942:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26945:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26945:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26935:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26935:6:136"
                          },
                          "nativeSrc": "26935:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26935:12:136"
                        },
                        "nativeSrc": "26935:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26935:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "26903:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "26903:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "26914:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "26914:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26921:8:136",
                                "nodeType": "YulLiteral",
                                "src": "26921:8:136",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "26910:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26910:3:136"
                            },
                            "nativeSrc": "26910:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "26910:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "26900:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "26900:2:136"
                        },
                        "nativeSrc": "26900:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26900:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26893:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26893:6:136"
                    },
                    "nativeSrc": "26893:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26893:39:136"
                  },
                  "nativeSrc": "26890:59:136",
                  "nodeType": "YulIf",
                  "src": "26890:59:136"
                }
              ]
            },
            "name": "abi_decode_uint24_fromMemory",
            "nativeSrc": "26790:165:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "26828:6:136",
                "nodeType": "YulTypedName",
                "src": "26828:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "26839:5:136",
                "nodeType": "YulTypedName",
                "src": "26839:5:136",
                "type": ""
              }
            ],
            "src": "26790:165:136"
          },
          {
            "body": {
              "nativeSrc": "27017:107:136",
              "nodeType": "YulBlock",
              "src": "27017:107:136",
              "statements": [
                {
                  "nativeSrc": "27027:22:136",
                  "nodeType": "YulAssignment",
                  "src": "27027:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "27042:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27042:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27036:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27036:5:136"
                    },
                    "nativeSrc": "27036:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27036:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "27027:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27027:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27102:16:136",
                    "nodeType": "YulBlock",
                    "src": "27102:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27111:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27111:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27114:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27114:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27104:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27104:6:136"
                          },
                          "nativeSrc": "27104:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27104:12:136"
                        },
                        "nativeSrc": "27104:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27104:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "27071:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "27071:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "27092:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "27092:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "27085:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27085:6:136"
                                },
                                "nativeSrc": "27085:13:136",
                                "nodeType": "YulFunctionCall",
                                "src": "27085:13:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "27078:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "27078:6:136"
                            },
                            "nativeSrc": "27078:21:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27078:21:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "27068:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "27068:2:136"
                        },
                        "nativeSrc": "27068:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27068:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27061:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27061:6:136"
                    },
                    "nativeSrc": "27061:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27061:40:136"
                  },
                  "nativeSrc": "27058:60:136",
                  "nodeType": "YulIf",
                  "src": "27058:60:136"
                }
              ]
            },
            "name": "abi_decode_bool_fromMemory",
            "nativeSrc": "26960:164:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "26996:6:136",
                "nodeType": "YulTypedName",
                "src": "26996:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "27007:5:136",
                "nodeType": "YulTypedName",
                "src": "27007:5:136",
                "type": ""
              }
            ],
            "src": "26960:164:136"
          },
          {
            "body": {
              "nativeSrc": "27213:888:136",
              "nodeType": "YulBlock",
              "src": "27213:888:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27257:16:136",
                    "nodeType": "YulBlock",
                    "src": "27257:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27266:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27266:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27269:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27269:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27259:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27259:6:136"
                          },
                          "nativeSrc": "27259:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27259:12:136"
                        },
                        "nativeSrc": "27259:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27259:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "27234:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27234:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27239:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27239:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27230:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27230:3:136"
                        },
                        "nativeSrc": "27230:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27230:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27251:4:136",
                        "nodeType": "YulLiteral",
                        "src": "27251:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27226:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27226:3:136"
                    },
                    "nativeSrc": "27226:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27226:30:136"
                  },
                  "nativeSrc": "27223:50:136",
                  "nodeType": "YulIf",
                  "src": "27223:50:136"
                },
                {
                  "nativeSrc": "27282:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27282:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "27296:1:136",
                    "nodeType": "YulLiteral",
                    "src": "27296:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "27286:6:136",
                      "nodeType": "YulTypedName",
                      "src": "27286:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "27306:19:136",
                  "nodeType": "YulAssignment",
                  "src": "27306:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "27322:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27322:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27316:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27316:5:136"
                    },
                    "nativeSrc": "27316:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27316:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "27306:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27306:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "27334:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27334:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "27356:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27356:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27364:4:136",
                        "nodeType": "YulLiteral",
                        "src": "27364:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27352:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27352:3:136"
                    },
                    "nativeSrc": "27352:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27352:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "27338:10:136",
                      "nodeType": "YulTypedName",
                      "src": "27338:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27444:22:136",
                    "nodeType": "YulBlock",
                    "src": "27444:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "27446:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "27446:16:136"
                          },
                          "nativeSrc": "27446:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27446:18:136"
                        },
                        "nativeSrc": "27446:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27446:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "27387:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "27387:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27399:18:136",
                            "nodeType": "YulLiteral",
                            "src": "27399:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "27384:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "27384:2:136"
                        },
                        "nativeSrc": "27384:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27384:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "27423:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "27423:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "27435:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27435:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "27420:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "27420:2:136"
                        },
                        "nativeSrc": "27420:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27420:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "27381:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27381:2:136"
                    },
                    "nativeSrc": "27381:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27381:62:136"
                  },
                  "nativeSrc": "27378:88:136",
                  "nodeType": "YulIf",
                  "src": "27378:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "27482:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27482:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "27486:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "27486:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27475:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27475:6:136"
                    },
                    "nativeSrc": "27475:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27475:22:136"
                  },
                  "nativeSrc": "27475:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27475:22:136"
                },
                {
                  "nativeSrc": "27506:15:136",
                  "nodeType": "YulAssignment",
                  "src": "27506:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27515:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "27515:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "27506:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27506:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "27537:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27537:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27574:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27574:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint24_fromMemory",
                          "nativeSrc": "27545:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "27545:28:136"
                        },
                        "nativeSrc": "27545:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27545:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27530:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27530:6:136"
                    },
                    "nativeSrc": "27530:55:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27530:55:136"
                  },
                  "nativeSrc": "27530:55:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27530:55:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "27605:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27605:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27613:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27613:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27601:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27601:3:136"
                        },
                        "nativeSrc": "27601:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27601:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "27649:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "27649:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27660:2:136",
                                "nodeType": "YulLiteral",
                                "src": "27660:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "27645:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27645:3:136"
                            },
                            "nativeSrc": "27645:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27645:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bool_fromMemory",
                          "nativeSrc": "27618:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "27618:26:136"
                        },
                        "nativeSrc": "27618:46:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27618:46:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27594:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27594:6:136"
                    },
                    "nativeSrc": "27594:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27594:71:136"
                  },
                  "nativeSrc": "27594:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27594:71:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "27685:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27685:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27693:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27693:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27681:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27681:3:136"
                        },
                        "nativeSrc": "27681:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27681:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "27731:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "27731:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27742:2:136",
                                "nodeType": "YulLiteral",
                                "src": "27742:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "27727:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27727:3:136"
                            },
                            "nativeSrc": "27727:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27727:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint24_fromMemory",
                          "nativeSrc": "27698:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "27698:28:136"
                        },
                        "nativeSrc": "27698:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27698:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27674:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27674:6:136"
                    },
                    "nativeSrc": "27674:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27674:73:136"
                  },
                  "nativeSrc": "27674:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27674:73:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "27767:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27767:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27775:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27775:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27763:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27763:3:136"
                        },
                        "nativeSrc": "27763:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27763:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "27813:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "27813:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27824:2:136",
                                "nodeType": "YulLiteral",
                                "src": "27824:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "27809:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27809:3:136"
                            },
                            "nativeSrc": "27809:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27809:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint24_fromMemory",
                          "nativeSrc": "27780:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "27780:28:136"
                        },
                        "nativeSrc": "27780:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27780:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27756:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27756:6:136"
                    },
                    "nativeSrc": "27756:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27756:73:136"
                  },
                  "nativeSrc": "27756:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27756:73:136"
                },
                {
                  "nativeSrc": "27838:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27838:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27863:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27863:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27874:3:136",
                            "nodeType": "YulLiteral",
                            "src": "27874:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27859:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27859:3:136"
                        },
                        "nativeSrc": "27859:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27859:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27853:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27853:5:136"
                    },
                    "nativeSrc": "27853:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27853:26:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "27842:7:136",
                      "nodeType": "YulTypedName",
                      "src": "27842:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "27912:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "27912:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "27888:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "27888:23:136"
                    },
                    "nativeSrc": "27888:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27888:32:136"
                  },
                  "nativeSrc": "27888:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27888:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "27940:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27940:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27948:3:136",
                            "nodeType": "YulLiteral",
                            "src": "27948:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27936:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27936:3:136"
                        },
                        "nativeSrc": "27936:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27936:16:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "27954:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "27954:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27929:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27929:6:136"
                    },
                    "nativeSrc": "27929:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27929:33:136"
                  },
                  "nativeSrc": "27929:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27929:33:136"
                },
                {
                  "nativeSrc": "27971:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27971:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27996:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27996:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28007:3:136",
                            "nodeType": "YulLiteral",
                            "src": "28007:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27992:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27992:3:136"
                        },
                        "nativeSrc": "27992:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27992:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27986:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27986:5:136"
                    },
                    "nativeSrc": "27986:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27986:26:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "27975:7:136",
                      "nodeType": "YulTypedName",
                      "src": "27975:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "28045:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28045:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "28021:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "28021:23:136"
                    },
                    "nativeSrc": "28021:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28021:32:136"
                  },
                  "nativeSrc": "28021:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28021:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "28073:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28073:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28081:3:136",
                            "nodeType": "YulLiteral",
                            "src": "28081:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28069:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28069:3:136"
                        },
                        "nativeSrc": "28069:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28069:16:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "28087:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28087:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28062:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28062:6:136"
                    },
                    "nativeSrc": "28062:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28062:33:136"
                  },
                  "nativeSrc": "28062:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28062:33:136"
                }
              ]
            },
            "name": "abi_decode_struct_UpdateConditions_fromMemory",
            "nativeSrc": "27129:972:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27184:9:136",
                "nodeType": "YulTypedName",
                "src": "27184:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "27195:3:136",
                "nodeType": "YulTypedName",
                "src": "27195:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "27203:5:136",
                "nodeType": "YulTypedName",
                "src": "27203:5:136",
                "type": ""
              }
            ],
            "src": "27129:972:136"
          },
          {
            "body": {
              "nativeSrc": "28150:85:136",
              "nodeType": "YulBlock",
              "src": "28150:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28213:16:136",
                    "nodeType": "YulBlock",
                    "src": "28213:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28222:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28222:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28225:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28225:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28215:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28215:6:136"
                          },
                          "nativeSrc": "28215:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28215:12:136"
                        },
                        "nativeSrc": "28215:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28215:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "28173:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "28173:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "28184:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "28184:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28191:18:136",
                                "nodeType": "YulLiteral",
                                "src": "28191:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "28180:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28180:3:136"
                            },
                            "nativeSrc": "28180:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28180:30:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "28170:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28170:2:136"
                        },
                        "nativeSrc": "28170:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28170:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28163:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28163:6:136"
                    },
                    "nativeSrc": "28163:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28163:49:136"
                  },
                  "nativeSrc": "28160:69:136",
                  "nodeType": "YulIf",
                  "src": "28160:69:136"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "28106:129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "28139:5:136",
                "nodeType": "YulTypedName",
                "src": "28139:5:136",
                "type": ""
              }
            ],
            "src": "28106:129:136"
          },
          {
            "body": {
              "nativeSrc": "28313:913:136",
              "nodeType": "YulBlock",
              "src": "28313:913:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28357:16:136",
                    "nodeType": "YulBlock",
                    "src": "28357:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28366:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28366:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28369:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28369:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28359:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28359:6:136"
                          },
                          "nativeSrc": "28359:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28359:12:136"
                        },
                        "nativeSrc": "28359:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28359:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "28334:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28334:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28339:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28339:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28330:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28330:3:136"
                        },
                        "nativeSrc": "28330:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28330:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28351:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28351:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28326:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28326:3:136"
                    },
                    "nativeSrc": "28326:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28326:30:136"
                  },
                  "nativeSrc": "28323:50:136",
                  "nodeType": "YulIf",
                  "src": "28323:50:136"
                },
                {
                  "nativeSrc": "28382:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28382:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28396:1:136",
                    "nodeType": "YulLiteral",
                    "src": "28396:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "28386:6:136",
                      "nodeType": "YulTypedName",
                      "src": "28386:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28406:19:136",
                  "nodeType": "YulAssignment",
                  "src": "28406:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28422:2:136",
                        "nodeType": "YulLiteral",
                        "src": "28422:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28416:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28416:5:136"
                    },
                    "nativeSrc": "28416:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28416:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "28406:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28406:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "28434:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28434:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "28456:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28456:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28464:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28464:4:136",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28452:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28452:3:136"
                    },
                    "nativeSrc": "28452:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28452:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "28438:10:136",
                      "nodeType": "YulTypedName",
                      "src": "28438:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28544:22:136",
                    "nodeType": "YulBlock",
                    "src": "28544:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "28546:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "28546:16:136"
                          },
                          "nativeSrc": "28546:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28546:18:136"
                        },
                        "nativeSrc": "28546:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28546:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "28487:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "28487:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28499:18:136",
                            "nodeType": "YulLiteral",
                            "src": "28499:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "28484:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28484:2:136"
                        },
                        "nativeSrc": "28484:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28484:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "28523:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "28523:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "28535:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28535:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "28520:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28520:2:136"
                        },
                        "nativeSrc": "28520:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28520:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "28481:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28481:2:136"
                    },
                    "nativeSrc": "28481:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28481:62:136"
                  },
                  "nativeSrc": "28478:88:136",
                  "nodeType": "YulIf",
                  "src": "28478:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28582:2:136",
                        "nodeType": "YulLiteral",
                        "src": "28582:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "28586:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "28586:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28575:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28575:6:136"
                    },
                    "nativeSrc": "28575:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28575:22:136"
                  },
                  "nativeSrc": "28575:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28575:22:136"
                },
                {
                  "nativeSrc": "28606:15:136",
                  "nodeType": "YulAssignment",
                  "src": "28606:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "28615:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "28615:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "28606:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28606:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "28637:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28637:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28672:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28672:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int8_fromMemory",
                          "nativeSrc": "28645:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "28645:26:136"
                        },
                        "nativeSrc": "28645:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28645:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28630:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28630:6:136"
                    },
                    "nativeSrc": "28630:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28630:53:136"
                  },
                  "nativeSrc": "28630:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28630:53:136"
                },
                {
                  "nativeSrc": "28692:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28692:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28717:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28717:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28728:2:136",
                            "nodeType": "YulLiteral",
                            "src": "28728:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28713:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28713:3:136"
                        },
                        "nativeSrc": "28713:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28713:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28707:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28707:5:136"
                    },
                    "nativeSrc": "28707:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28707:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "28696:7:136",
                      "nodeType": "YulTypedName",
                      "src": "28696:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "28765:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28765:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "28741:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "28741:23:136"
                    },
                    "nativeSrc": "28741:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28741:32:136"
                  },
                  "nativeSrc": "28741:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28741:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "28793:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28793:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28801:2:136",
                            "nodeType": "YulLiteral",
                            "src": "28801:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28789:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28789:3:136"
                        },
                        "nativeSrc": "28789:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28789:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "28806:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28806:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28782:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28782:6:136"
                    },
                    "nativeSrc": "28782:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28782:32:136"
                  },
                  "nativeSrc": "28782:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28782:32:136"
                },
                {
                  "nativeSrc": "28823:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28823:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28848:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "28848:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28859:2:136",
                            "nodeType": "YulLiteral",
                            "src": "28859:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28844:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28844:3:136"
                        },
                        "nativeSrc": "28844:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28844:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28838:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28838:5:136"
                    },
                    "nativeSrc": "28838:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28838:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "28827:7:136",
                      "nodeType": "YulTypedName",
                      "src": "28827:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28919:16:136",
                    "nodeType": "YulBlock",
                    "src": "28919:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28928:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28928:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28931:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28931:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28921:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28921:6:136"
                          },
                          "nativeSrc": "28921:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28921:12:136"
                        },
                        "nativeSrc": "28921:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28921:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "28885:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "28885:7:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28905:1:136",
                                "nodeType": "YulLiteral",
                                "src": "28905:1:136",
                                "type": "",
                                "value": "6"
                              },
                              {
                                "name": "value_2",
                                "nativeSrc": "28908:7:136",
                                "nodeType": "YulIdentifier",
                                "src": "28908:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "28894:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "28894:10:136"
                            },
                            "nativeSrc": "28894:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28894:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "28882:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28882:2:136"
                        },
                        "nativeSrc": "28882:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28882:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28875:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28875:6:136"
                    },
                    "nativeSrc": "28875:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28875:43:136"
                  },
                  "nativeSrc": "28872:63:136",
                  "nodeType": "YulIf",
                  "src": "28872:63:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "28955:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28955:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28963:2:136",
                            "nodeType": "YulLiteral",
                            "src": "28963:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28951:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28951:3:136"
                        },
                        "nativeSrc": "28951:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28951:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "28968:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28968:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28944:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28944:6:136"
                    },
                    "nativeSrc": "28944:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28944:32:136"
                  },
                  "nativeSrc": "28944:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28944:32:136"
                },
                {
                  "nativeSrc": "28985:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28985:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29010:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29010:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29021:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29021:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29006:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29006:3:136"
                        },
                        "nativeSrc": "29006:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29006:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29000:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29000:5:136"
                    },
                    "nativeSrc": "29000:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29000:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "28989:7:136",
                      "nodeType": "YulTypedName",
                      "src": "28989:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "29058:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "29058:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "29034:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "29034:23:136"
                    },
                    "nativeSrc": "29034:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29034:32:136"
                  },
                  "nativeSrc": "29034:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29034:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "29086:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29086:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29094:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29094:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29082:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29082:3:136"
                        },
                        "nativeSrc": "29082:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29082:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "29099:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "29099:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29075:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29075:6:136"
                    },
                    "nativeSrc": "29075:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29075:32:136"
                  },
                  "nativeSrc": "29075:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29075:32:136"
                },
                {
                  "nativeSrc": "29116:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29116:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29131:1:136",
                    "nodeType": "YulLiteral",
                    "src": "29131:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "29120:7:136",
                      "nodeType": "YulTypedName",
                      "src": "29120:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29141:37:136",
                  "nodeType": "YulAssignment",
                  "src": "29141:37:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29162:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29162:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29173:3:136",
                            "nodeType": "YulLiteral",
                            "src": "29173:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29158:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29158:3:136"
                        },
                        "nativeSrc": "29158:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29158:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29152:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29152:5:136"
                    },
                    "nativeSrc": "29152:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29152:26:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_4",
                      "nativeSrc": "29141:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "29141:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "29198:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29198:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29206:3:136",
                            "nodeType": "YulLiteral",
                            "src": "29206:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29194:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29194:3:136"
                        },
                        "nativeSrc": "29194:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29194:16:136"
                      },
                      {
                        "name": "value_4",
                        "nativeSrc": "29212:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "29212:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29187:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29187:6:136"
                    },
                    "nativeSrc": "29187:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29187:33:136"
                  },
                  "nativeSrc": "29187:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29187:33:136"
                }
              ]
            },
            "name": "abi_decode_struct_Price_fromMemory",
            "nativeSrc": "28240:986:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28284:9:136",
                "nodeType": "YulTypedName",
                "src": "28284:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "28295:3:136",
                "nodeType": "YulTypedName",
                "src": "28295:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "28303:5:136",
                "nodeType": "YulTypedName",
                "src": "28303:5:136",
                "type": ""
              }
            ],
            "src": "28240:986:136"
          },
          {
            "body": {
              "nativeSrc": "29303:983:136",
              "nodeType": "YulBlock",
              "src": "29303:983:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "29349:16:136",
                    "nodeType": "YulBlock",
                    "src": "29349:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29358:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29358:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29361:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29361:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29351:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29351:6:136"
                          },
                          "nativeSrc": "29351:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29351:12:136"
                        },
                        "nativeSrc": "29351:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29351:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "29324:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29324:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29329:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29329:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29320:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29320:3:136"
                        },
                        "nativeSrc": "29320:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29320:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29341:6:136",
                        "nodeType": "YulLiteral",
                        "src": "29341:6:136",
                        "type": "",
                        "value": "0x0240"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "29316:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29316:3:136"
                    },
                    "nativeSrc": "29316:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29316:32:136"
                  },
                  "nativeSrc": "29313:52:136",
                  "nodeType": "YulIf",
                  "src": "29313:52:136"
                },
                {
                  "nativeSrc": "29374:31:136",
                  "nodeType": "YulAssignment",
                  "src": "29374:31:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_6011",
                      "nativeSrc": "29383:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "29383:20:136"
                    },
                    "nativeSrc": "29383:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29383:22:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "29374:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29374:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "29414:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29414:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29429:1:136",
                    "nodeType": "YulLiteral",
                    "src": "29429:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "29418:7:136",
                      "nodeType": "YulTypedName",
                      "src": "29418:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29439:27:136",
                  "nodeType": "YulAssignment",
                  "src": "29439:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29456:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29456:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29450:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29450:5:136"
                    },
                    "nativeSrc": "29450:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29450:16:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "29439:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "29439:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "29482:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "29482:5:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "29489:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "29489:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29475:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29475:6:136"
                    },
                    "nativeSrc": "29475:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29475:22:136"
                  },
                  "nativeSrc": "29475:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29475:22:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "29517:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "29517:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29524:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29524:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29513:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29513:3:136"
                        },
                        "nativeSrc": "29513:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29513:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "29560:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "29560:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "29571:2:136",
                                "nodeType": "YulLiteral",
                                "src": "29571:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29556:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29556:3:136"
                            },
                            "nativeSrc": "29556:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29556:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int8_fromMemory",
                          "nativeSrc": "29529:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "29529:26:136"
                        },
                        "nativeSrc": "29529:46:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29529:46:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29506:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29506:6:136"
                    },
                    "nativeSrc": "29506:70:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29506:70:136"
                  },
                  "nativeSrc": "29506:70:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29506:70:136"
                },
                {
                  "nativeSrc": "29585:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29585:39:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29609:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29609:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29620:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29620:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29605:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29605:3:136"
                        },
                        "nativeSrc": "29605:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29605:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29599:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29599:5:136"
                    },
                    "nativeSrc": "29599:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29599:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "29589:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29589:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29667:16:136",
                    "nodeType": "YulBlock",
                    "src": "29667:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29676:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29676:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29679:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29679:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29669:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29669:6:136"
                          },
                          "nativeSrc": "29669:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29669:12:136"
                        },
                        "nativeSrc": "29669:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29669:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "29639:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29639:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29647:18:136",
                        "nodeType": "YulLiteral",
                        "src": "29647:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29636:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "29636:2:136"
                    },
                    "nativeSrc": "29636:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29636:30:136"
                  },
                  "nativeSrc": "29633:50:136",
                  "nodeType": "YulIf",
                  "src": "29633:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "29703:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "29703:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29710:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29710:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29699:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29699:3:136"
                        },
                        "nativeSrc": "29699:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29699:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "29748:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "29748:9:136"
                              },
                              {
                                "name": "offset",
                                "nativeSrc": "29759:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "29759:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29744:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29744:3:136"
                            },
                            "nativeSrc": "29744:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29744:22:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "29768:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29768:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "29715:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "29715:28:136"
                        },
                        "nativeSrc": "29715:57:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29715:57:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29692:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29692:6:136"
                    },
                    "nativeSrc": "29692:81:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29692:81:136"
                  },
                  "nativeSrc": "29692:81:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29692:81:136"
                },
                {
                  "nativeSrc": "29782:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29782:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29808:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29808:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29819:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29819:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29804:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29804:3:136"
                        },
                        "nativeSrc": "29804:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29804:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29798:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "29798:5:136"
                    },
                    "nativeSrc": "29798:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29798:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "29786:8:136",
                      "nodeType": "YulTypedName",
                      "src": "29786:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29868:16:136",
                    "nodeType": "YulBlock",
                    "src": "29868:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29877:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29877:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29880:1:136",
                              "nodeType": "YulLiteral",
                              "src": "29880:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29870:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29870:6:136"
                          },
                          "nativeSrc": "29870:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "29870:12:136"
                        },
                        "nativeSrc": "29870:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "29870:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "29838:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "29838:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29848:18:136",
                        "nodeType": "YulLiteral",
                        "src": "29848:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29835:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "29835:2:136"
                    },
                    "nativeSrc": "29835:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29835:32:136"
                  },
                  "nativeSrc": "29832:52:136",
                  "nodeType": "YulIf",
                  "src": "29832:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "29904:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "29904:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29911:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29911:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29900:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29900:3:136"
                        },
                        "nativeSrc": "29900:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29900:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "29956:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "29956:9:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "29967:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "29967:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29952:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29952:3:136"
                            },
                            "nativeSrc": "29952:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29952:24:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "29978:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "29978:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_Mapper_fromMemory",
                          "nativeSrc": "29916:35:136",
                          "nodeType": "YulIdentifier",
                          "src": "29916:35:136"
                        },
                        "nativeSrc": "29916:66:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29916:66:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29893:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29893:6:136"
                    },
                    "nativeSrc": "29893:90:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29893:90:136"
                  },
                  "nativeSrc": "29893:90:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29893:90:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "30003:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "30003:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30010:3:136",
                            "nodeType": "YulLiteral",
                            "src": "30010:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29999:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29999:3:136"
                        },
                        "nativeSrc": "29999:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29999:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "30056:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "30056:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30067:3:136",
                                "nodeType": "YulLiteral",
                                "src": "30067:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30052:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30052:3:136"
                            },
                            "nativeSrc": "30052:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30052:19:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "30073:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30073:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_Oracle_fromMemory",
                          "nativeSrc": "30016:35:136",
                          "nodeType": "YulIdentifier",
                          "src": "30016:35:136"
                        },
                        "nativeSrc": "30016:61:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30016:61:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29992:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29992:6:136"
                    },
                    "nativeSrc": "29992:86:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29992:86:136"
                  },
                  "nativeSrc": "29992:86:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29992:86:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "30098:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "30098:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30105:4:136",
                            "nodeType": "YulLiteral",
                            "src": "30105:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30094:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30094:3:136"
                        },
                        "nativeSrc": "30094:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30094:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "30162:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "30162:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30173:4:136",
                                "nodeType": "YulLiteral",
                                "src": "30173:4:136",
                                "type": "",
                                "value": "0xe0"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30158:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30158:3:136"
                            },
                            "nativeSrc": "30158:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30158:20:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "30180:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30180:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_UpdateConditions_fromMemory",
                          "nativeSrc": "30112:45:136",
                          "nodeType": "YulIdentifier",
                          "src": "30112:45:136"
                        },
                        "nativeSrc": "30112:72:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30112:72:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30087:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30087:6:136"
                    },
                    "nativeSrc": "30087:98:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30087:98:136"
                  },
                  "nativeSrc": "30087:98:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30087:98:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "30205:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "30205:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30212:4:136",
                            "nodeType": "YulLiteral",
                            "src": "30212:4:136",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30201:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30201:3:136"
                        },
                        "nativeSrc": "30201:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30201:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "30258:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "30258:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30269:3:136",
                                "nodeType": "YulLiteral",
                                "src": "30269:3:136",
                                "type": "",
                                "value": "416"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30254:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30254:3:136"
                            },
                            "nativeSrc": "30254:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30254:19:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "30275:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30275:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_Price_fromMemory",
                          "nativeSrc": "30219:34:136",
                          "nodeType": "YulIdentifier",
                          "src": "30219:34:136"
                        },
                        "nativeSrc": "30219:60:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30219:60:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30194:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30194:6:136"
                    },
                    "nativeSrc": "30194:86:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30194:86:136"
                  },
                  "nativeSrc": "30194:86:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30194:86:136"
                }
              ]
            },
            "name": "abi_decode_struct_Info_fromMemory",
            "nativeSrc": "29231:1055:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29274:9:136",
                "nodeType": "YulTypedName",
                "src": "29274:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "29285:3:136",
                "nodeType": "YulTypedName",
                "src": "29285:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "29293:5:136",
                "nodeType": "YulTypedName",
                "src": "29293:5:136",
                "type": ""
              }
            ],
            "src": "29231:1055:136"
          },
          {
            "body": {
              "nativeSrc": "30420:947:136",
              "nodeType": "YulBlock",
              "src": "30420:947:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30466:16:136",
                    "nodeType": "YulBlock",
                    "src": "30466:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30475:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30475:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30478:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30478:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30468:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30468:6:136"
                          },
                          "nativeSrc": "30468:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30468:12:136"
                        },
                        "nativeSrc": "30468:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30468:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30441:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "30441:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30450:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30450:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30437:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30437:3:136"
                        },
                        "nativeSrc": "30437:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30437:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30462:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30462:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30433:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30433:3:136"
                    },
                    "nativeSrc": "30433:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30433:32:136"
                  },
                  "nativeSrc": "30430:52:136",
                  "nodeType": "YulIf",
                  "src": "30430:52:136"
                },
                {
                  "nativeSrc": "30491:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30491:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30511:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "30511:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30505:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30505:5:136"
                    },
                    "nativeSrc": "30505:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30505:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "30495:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30495:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30564:16:136",
                    "nodeType": "YulBlock",
                    "src": "30564:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30573:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30573:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30576:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30576:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30566:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30566:6:136"
                          },
                          "nativeSrc": "30566:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30566:12:136"
                        },
                        "nativeSrc": "30566:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30566:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "30536:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30536:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30544:18:136",
                        "nodeType": "YulLiteral",
                        "src": "30544:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30533:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30533:2:136"
                    },
                    "nativeSrc": "30533:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30533:30:136"
                  },
                  "nativeSrc": "30530:50:136",
                  "nodeType": "YulIf",
                  "src": "30530:50:136"
                },
                {
                  "nativeSrc": "30589:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30589:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30603:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "30603:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "30614:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30614:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30599:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30599:3:136"
                    },
                    "nativeSrc": "30599:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30599:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30593:2:136",
                      "nodeType": "YulTypedName",
                      "src": "30593:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30669:16:136",
                    "nodeType": "YulBlock",
                    "src": "30669:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30678:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30678:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30681:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30681:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30671:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30671:6:136"
                          },
                          "nativeSrc": "30671:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30671:12:136"
                        },
                        "nativeSrc": "30671:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30671:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "30648:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "30648:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30652:4:136",
                                "nodeType": "YulLiteral",
                                "src": "30652:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30644:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30644:3:136"
                            },
                            "nativeSrc": "30644:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30644:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30659:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "30659:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "30640:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30640:3:136"
                        },
                        "nativeSrc": "30640:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30640:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30633:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30633:6:136"
                    },
                    "nativeSrc": "30633:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30633:35:136"
                  },
                  "nativeSrc": "30630:55:136",
                  "nodeType": "YulIf",
                  "src": "30630:55:136"
                },
                {
                  "nativeSrc": "30694:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30694:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "30714:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "30714:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30708:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30708:5:136"
                    },
                    "nativeSrc": "30708:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30708:9:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "30698:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30698:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30726:79:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30726:79:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "30797:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30797:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_struct_Info_dyn",
                          "nativeSrc": "30753:43:136",
                          "nodeType": "YulIdentifier",
                          "src": "30753:43:136"
                        },
                        "nativeSrc": "30753:51:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30753:51:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "30737:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "30737:15:136"
                    },
                    "nativeSrc": "30737:68:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30737:68:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "30730:3:136",
                      "nodeType": "YulTypedName",
                      "src": "30730:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30814:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30814:16:136",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "30827:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "30827:3:136"
                  },
                  "variables": [
                    {
                      "name": "array",
                      "nativeSrc": "30818:5:136",
                      "nodeType": "YulTypedName",
                      "src": "30818:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "30846:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "30846:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30851:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30851:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30839:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30839:6:136"
                    },
                    "nativeSrc": "30839:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30839:19:136"
                  },
                  "nativeSrc": "30839:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30839:19:136"
                },
                {
                  "nativeSrc": "30867:19:136",
                  "nodeType": "YulAssignment",
                  "src": "30867:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "30878:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "30878:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30883:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30883:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30874:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30874:3:136"
                    },
                    "nativeSrc": "30874:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30874:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "30867:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30867:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "30895:46:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30895:46:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "30917:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "30917:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30925:1:136",
                                "nodeType": "YulLiteral",
                                "src": "30925:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30928:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30928:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "30921:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30921:3:136"
                            },
                            "nativeSrc": "30921:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30921:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30913:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30913:3:136"
                        },
                        "nativeSrc": "30913:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30913:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30938:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30938:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30909:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30909:3:136"
                    },
                    "nativeSrc": "30909:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30909:32:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "30899:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30899:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30973:16:136",
                    "nodeType": "YulBlock",
                    "src": "30973:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30982:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30982:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30985:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30985:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30975:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30975:6:136"
                          },
                          "nativeSrc": "30975:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30975:12:136"
                        },
                        "nativeSrc": "30975:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30975:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "30956:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30956:6:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "30964:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "30964:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30953:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30953:2:136"
                    },
                    "nativeSrc": "30953:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30953:19:136"
                  },
                  "nativeSrc": "30950:39:136",
                  "nodeType": "YulIf",
                  "src": "30950:39:136"
                },
                {
                  "nativeSrc": "30998:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30998:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "31013:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "31013:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31017:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31017:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31009:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31009:3:136"
                    },
                    "nativeSrc": "31009:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31009:11:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "31002:3:136",
                      "nodeType": "YulTypedName",
                      "src": "31002:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31085:252:136",
                    "nodeType": "YulBlock",
                    "src": "31085:252:136",
                    "statements": [
                      {
                        "nativeSrc": "31099:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31099:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "31124:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31124:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "31118:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "31118:5:136"
                          },
                          "nativeSrc": "31118:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31118:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "31103:11:136",
                            "nodeType": "YulTypedName",
                            "src": "31103:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "31180:16:136",
                          "nodeType": "YulBlock",
                          "src": "31180:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31189:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "31189:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31192:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "31192:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "31182:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "31182:6:136"
                                },
                                "nativeSrc": "31182:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "31182:12:136"
                              },
                              "nativeSrc": "31182:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "31182:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "31147:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "31147:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31160:18:136",
                              "nodeType": "YulLiteral",
                              "src": "31160:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "31144:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "31144:2:136"
                          },
                          "nativeSrc": "31144:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31144:35:136"
                        },
                        "nativeSrc": "31141:55:136",
                        "nodeType": "YulIf",
                        "src": "31141:55:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "31216:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31216:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_1",
                                          "nativeSrc": "31263:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "31263:2:136"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "31267:11:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "31267:11:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "31259:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "31259:3:136"
                                      },
                                      "nativeSrc": "31259:20:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "31259:20:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31281:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "31281:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31255:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "31255:3:136"
                                  },
                                  "nativeSrc": "31255:29:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31255:29:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "31286:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "31286:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_struct_Info_fromMemory",
                                "nativeSrc": "31221:33:136",
                                "nodeType": "YulIdentifier",
                                "src": "31221:33:136"
                              },
                              "nativeSrc": "31221:73:136",
                              "nodeType": "YulFunctionCall",
                              "src": "31221:73:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31209:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31209:6:136"
                          },
                          "nativeSrc": "31209:86:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31209:86:136"
                        },
                        "nativeSrc": "31209:86:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31209:86:136"
                      },
                      {
                        "nativeSrc": "31308:19:136",
                        "nodeType": "YulAssignment",
                        "src": "31308:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "31319:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31319:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31324:2:136",
                              "nodeType": "YulLiteral",
                              "src": "31324:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31315:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "31315:3:136"
                          },
                          "nativeSrc": "31315:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31315:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "31308:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "31308:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "31040:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "31040:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "31045:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31045:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "31037:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "31037:2:136"
                    },
                    "nativeSrc": "31037:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31037:15:136"
                  },
                  "nativeSrc": "31029:308:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "31053:23:136",
                    "nodeType": "YulBlock",
                    "src": "31053:23:136",
                    "statements": [
                      {
                        "nativeSrc": "31055:19:136",
                        "nodeType": "YulAssignment",
                        "src": "31055:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "31066:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31066:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31071:2:136",
                              "nodeType": "YulLiteral",
                              "src": "31071:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31062:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "31062:3:136"
                          },
                          "nativeSrc": "31062:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31062:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "31055:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "31055:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "31033:3:136",
                    "nodeType": "YulBlock",
                    "src": "31033:3:136",
                    "statements": []
                  },
                  "src": "31029:308:136"
                },
                {
                  "nativeSrc": "31346:15:136",
                  "nodeType": "YulAssignment",
                  "src": "31346:15:136",
                  "value": {
                    "name": "array",
                    "nativeSrc": "31356:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "31356:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31346:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31346:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "30291:1076:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30386:9:136",
                "nodeType": "YulTypedName",
                "src": "30386:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30397:7:136",
                "nodeType": "YulTypedName",
                "src": "30397:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30409:6:136",
                "nodeType": "YulTypedName",
                "src": "30409:6:136",
                "type": ""
              }
            ],
            "src": "30291:1076:136"
          },
          {
            "body": {
              "nativeSrc": "31497:103:136",
              "nodeType": "YulBlock",
              "src": "31497:103:136",
              "statements": [
                {
                  "nativeSrc": "31507:26:136",
                  "nodeType": "YulAssignment",
                  "src": "31507:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31519:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31519:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31530:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31530:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31515:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31515:3:136"
                    },
                    "nativeSrc": "31515:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31515:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "31507:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "31507:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31549:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31549:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "31564:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31564:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "31576:3:136",
                                "nodeType": "YulLiteral",
                                "src": "31576:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "31581:10:136",
                                "nodeType": "YulLiteral",
                                "src": "31581:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "31572:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31572:3:136"
                            },
                            "nativeSrc": "31572:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "31572:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31560:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31560:3:136"
                        },
                        "nativeSrc": "31560:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31560:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31542:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31542:6:136"
                    },
                    "nativeSrc": "31542:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31542:52:136"
                  },
                  "nativeSrc": "31542:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31542:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "31372:228:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31466:9:136",
                "nodeType": "YulTypedName",
                "src": "31466:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31477:6:136",
                "nodeType": "YulTypedName",
                "src": "31477:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "31488:4:136",
                "nodeType": "YulTypedName",
                "src": "31488:4:136",
                "type": ""
              }
            ],
            "src": "31372:228:136"
          },
          {
            "body": {
              "nativeSrc": "31709:251:136",
              "nodeType": "YulBlock",
              "src": "31709:251:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31755:16:136",
                    "nodeType": "YulBlock",
                    "src": "31755:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31764:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31764:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31767:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31767:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31757:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31757:6:136"
                          },
                          "nativeSrc": "31757:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31757:12:136"
                        },
                        "nativeSrc": "31757:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31757:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31730:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "31730:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31739:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31739:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31726:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31726:3:136"
                        },
                        "nativeSrc": "31726:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31726:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31751:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31751:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31722:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31722:3:136"
                    },
                    "nativeSrc": "31722:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31722:32:136"
                  },
                  "nativeSrc": "31719:52:136",
                  "nodeType": "YulIf",
                  "src": "31719:52:136"
                },
                {
                  "nativeSrc": "31780:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31780:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31800:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31800:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31794:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "31794:5:136"
                    },
                    "nativeSrc": "31794:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31794:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "31784:6:136",
                      "nodeType": "YulTypedName",
                      "src": "31784:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31853:16:136",
                    "nodeType": "YulBlock",
                    "src": "31853:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31862:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31862:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31865:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31865:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31855:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31855:6:136"
                          },
                          "nativeSrc": "31855:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31855:12:136"
                        },
                        "nativeSrc": "31855:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31855:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "31825:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31825:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31833:18:136",
                        "nodeType": "YulLiteral",
                        "src": "31833:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31822:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "31822:2:136"
                    },
                    "nativeSrc": "31822:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31822:30:136"
                  },
                  "nativeSrc": "31819:50:136",
                  "nodeType": "YulIf",
                  "src": "31819:50:136"
                },
                {
                  "nativeSrc": "31878:76:136",
                  "nodeType": "YulAssignment",
                  "src": "31878:76:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31926:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31926:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "31937:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31937:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31922:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31922:3:136"
                        },
                        "nativeSrc": "31922:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31922:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "31946:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "31946:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_Info_fromMemory",
                      "nativeSrc": "31888:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "31888:33:136"
                    },
                    "nativeSrc": "31888:66:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31888:66:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31878:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31878:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Info_$28125_memory_ptr_fromMemory",
            "nativeSrc": "31605:355:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31675:9:136",
                "nodeType": "YulTypedName",
                "src": "31675:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31686:7:136",
                "nodeType": "YulTypedName",
                "src": "31686:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31698:6:136",
                "nodeType": "YulTypedName",
                "src": "31698:6:136",
                "type": ""
              }
            ],
            "src": "31605:355:136"
          },
          {
            "body": {
              "nativeSrc": "32080:357:136",
              "nodeType": "YulBlock",
              "src": "32080:357:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32126:16:136",
                    "nodeType": "YulBlock",
                    "src": "32126:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32135:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32135:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32138:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32138:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32128:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32128:6:136"
                          },
                          "nativeSrc": "32128:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32128:12:136"
                        },
                        "nativeSrc": "32128:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32128:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32101:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "32101:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32110:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32110:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32097:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32097:3:136"
                        },
                        "nativeSrc": "32097:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32097:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32122:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32122:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32093:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32093:3:136"
                    },
                    "nativeSrc": "32093:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32093:32:136"
                  },
                  "nativeSrc": "32090:52:136",
                  "nodeType": "YulIf",
                  "src": "32090:52:136"
                },
                {
                  "nativeSrc": "32151:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32151:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32170:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32170:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32164:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32164:5:136"
                    },
                    "nativeSrc": "32164:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32164:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32155:5:136",
                      "nodeType": "YulTypedName",
                      "src": "32155:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32214:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "32214:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "32189:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "32189:24:136"
                    },
                    "nativeSrc": "32189:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32189:31:136"
                  },
                  "nativeSrc": "32189:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32189:31:136"
                },
                {
                  "nativeSrc": "32229:15:136",
                  "nodeType": "YulAssignment",
                  "src": "32229:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "32239:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "32239:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "32229:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32229:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "32253:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32253:39:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32277:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32277:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32288:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32288:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32273:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32273:3:136"
                        },
                        "nativeSrc": "32273:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32273:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32267:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32267:5:136"
                    },
                    "nativeSrc": "32267:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32267:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "32257:6:136",
                      "nodeType": "YulTypedName",
                      "src": "32257:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32335:16:136",
                    "nodeType": "YulBlock",
                    "src": "32335:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32344:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32344:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32347:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32347:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32337:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32337:6:136"
                          },
                          "nativeSrc": "32337:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32337:12:136"
                        },
                        "nativeSrc": "32337:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32337:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "32307:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32307:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32315:18:136",
                        "nodeType": "YulLiteral",
                        "src": "32315:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32304:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "32304:2:136"
                    },
                    "nativeSrc": "32304:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32304:30:136"
                  },
                  "nativeSrc": "32301:50:136",
                  "nodeType": "YulIf",
                  "src": "32301:50:136"
                },
                {
                  "nativeSrc": "32360:71:136",
                  "nodeType": "YulAssignment",
                  "src": "32360:71:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32403:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32403:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "32414:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32414:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32399:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32399:3:136"
                        },
                        "nativeSrc": "32399:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32399:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "32423:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "32423:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "32370:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "32370:28:136"
                    },
                    "nativeSrc": "32370:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32370:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "32360:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32360:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "31965:472:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32038:9:136",
                "nodeType": "YulTypedName",
                "src": "32038:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32049:7:136",
                "nodeType": "YulTypedName",
                "src": "32049:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32061:6:136",
                "nodeType": "YulTypedName",
                "src": "32061:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "32069:6:136",
                "nodeType": "YulTypedName",
                "src": "32069:6:136",
                "type": ""
              }
            ],
            "src": "31965:472:136"
          },
          {
            "body": {
              "nativeSrc": "32616:163:136",
              "nodeType": "YulBlock",
              "src": "32616:163:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32633:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32633:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32644:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32644:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32626:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32626:6:136"
                    },
                    "nativeSrc": "32626:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32626:21:136"
                  },
                  "nativeSrc": "32626:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32626:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32667:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32667:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32678:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32678:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32663:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32663:3:136"
                        },
                        "nativeSrc": "32663:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32663:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32683:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32683:2:136",
                        "type": "",
                        "value": "13"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32656:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32656:6:136"
                    },
                    "nativeSrc": "32656:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32656:30:136"
                  },
                  "nativeSrc": "32656:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32656:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32706:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32706:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32717:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32717:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32702:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32702:3:136"
                        },
                        "nativeSrc": "32702:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32702:18:136"
                      },
                      {
                        "hexValue": "6e6f7420746865206f776e6572",
                        "kind": "string",
                        "nativeSrc": "32722:15:136",
                        "nodeType": "YulLiteral",
                        "src": "32722:15:136",
                        "type": "",
                        "value": "not the owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32695:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32695:6:136"
                    },
                    "nativeSrc": "32695:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32695:43:136"
                  },
                  "nativeSrc": "32695:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32695:43:136"
                },
                {
                  "nativeSrc": "32747:26:136",
                  "nodeType": "YulAssignment",
                  "src": "32747:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32759:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32759:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32770:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32770:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32755:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32755:3:136"
                    },
                    "nativeSrc": "32755:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32755:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32747:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "32747:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "32442:337:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32593:9:136",
                "nodeType": "YulTypedName",
                "src": "32593:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32607:4:136",
                "nodeType": "YulTypedName",
                "src": "32607:4:136",
                "type": ""
              }
            ],
            "src": "32442:337:136"
          },
          {
            "body": {
              "nativeSrc": "32958:178:136",
              "nodeType": "YulBlock",
              "src": "32958:178:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32975:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32975:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32986:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32986:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32968:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32968:6:136"
                    },
                    "nativeSrc": "32968:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32968:21:136"
                  },
                  "nativeSrc": "32968:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32968:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33009:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33009:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33020:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33020:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33005:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33005:3:136"
                        },
                        "nativeSrc": "33005:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33005:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33025:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33025:2:136",
                        "type": "",
                        "value": "28"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32998:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32998:6:136"
                    },
                    "nativeSrc": "32998:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32998:30:136"
                  },
                  "nativeSrc": "32998:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32998:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33048:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33048:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33059:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33059:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33044:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33044:3:136"
                        },
                        "nativeSrc": "33044:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33044:18:136"
                      },
                      {
                        "hexValue": "616c726561647920696e697469616c697a656420636f646568617368",
                        "kind": "string",
                        "nativeSrc": "33064:30:136",
                        "nodeType": "YulLiteral",
                        "src": "33064:30:136",
                        "type": "",
                        "value": "already initialized codehash"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33037:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33037:6:136"
                    },
                    "nativeSrc": "33037:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33037:58:136"
                  },
                  "nativeSrc": "33037:58:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33037:58:136"
                },
                {
                  "nativeSrc": "33104:26:136",
                  "nodeType": "YulAssignment",
                  "src": "33104:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33116:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33116:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33127:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33127:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33112:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33112:3:136"
                    },
                    "nativeSrc": "33112:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33112:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33104:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33104:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "32784:352:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32935:9:136",
                "nodeType": "YulTypedName",
                "src": "32935:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32949:4:136",
                "nodeType": "YulTypedName",
                "src": "32949:4:136",
                "type": ""
              }
            ],
            "src": "32784:352:136"
          },
          {
            "body": {
              "nativeSrc": "33222:170:136",
              "nodeType": "YulBlock",
              "src": "33222:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "33268:16:136",
                    "nodeType": "YulBlock",
                    "src": "33268:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33277:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33277:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33280:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33280:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33270:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33270:6:136"
                          },
                          "nativeSrc": "33270:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33270:12:136"
                        },
                        "nativeSrc": "33270:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33270:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "33243:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33243:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33252:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33252:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33239:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33239:3:136"
                        },
                        "nativeSrc": "33239:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33239:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33264:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33264:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "33235:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33235:3:136"
                    },
                    "nativeSrc": "33235:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33235:32:136"
                  },
                  "nativeSrc": "33232:52:136",
                  "nodeType": "YulIf",
                  "src": "33232:52:136"
                },
                {
                  "nativeSrc": "33293:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33293:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33312:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33312:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "33306:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "33306:5:136"
                    },
                    "nativeSrc": "33306:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33306:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "33297:5:136",
                      "nodeType": "YulTypedName",
                      "src": "33297:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "33356:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "33356:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "33331:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "33331:24:136"
                    },
                    "nativeSrc": "33331:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33331:31:136"
                  },
                  "nativeSrc": "33331:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33331:31:136"
                },
                {
                  "nativeSrc": "33371:15:136",
                  "nodeType": "YulAssignment",
                  "src": "33371:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "33381:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "33381:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33371:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33371:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "33141:251:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33188:9:136",
                "nodeType": "YulTypedName",
                "src": "33188:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "33199:7:136",
                "nodeType": "YulTypedName",
                "src": "33199:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "33211:6:136",
                "nodeType": "YulTypedName",
                "src": "33211:6:136",
                "type": ""
              }
            ],
            "src": "33141:251:136"
          },
          {
            "body": {
              "nativeSrc": "33529:76:136",
              "nodeType": "YulBlock",
              "src": "33529:76:136",
              "statements": [
                {
                  "nativeSrc": "33539:26:136",
                  "nodeType": "YulAssignment",
                  "src": "33539:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33551:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33551:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33562:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33562:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33547:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33547:3:136"
                    },
                    "nativeSrc": "33547:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33547:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33539:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "33539:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33581:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33581:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "33592:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33592:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33574:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33574:6:136"
                    },
                    "nativeSrc": "33574:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33574:25:136"
                  },
                  "nativeSrc": "33574:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33574:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "33397:208:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33498:9:136",
                "nodeType": "YulTypedName",
                "src": "33498:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33509:6:136",
                "nodeType": "YulTypedName",
                "src": "33509:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33520:4:136",
                "nodeType": "YulTypedName",
                "src": "33520:4:136",
                "type": ""
              }
            ],
            "src": "33397:208:136"
          },
          {
            "body": {
              "nativeSrc": "33700:246:136",
              "nodeType": "YulBlock",
              "src": "33700:246:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "33746:16:136",
                    "nodeType": "YulBlock",
                    "src": "33746:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33755:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33755:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33758:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33758:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33748:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33748:6:136"
                          },
                          "nativeSrc": "33748:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33748:12:136"
                        },
                        "nativeSrc": "33748:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33748:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "33721:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33721:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33730:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33730:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33717:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33717:3:136"
                        },
                        "nativeSrc": "33717:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33717:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33742:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33742:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "33713:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "33713:3:136"
                    },
                    "nativeSrc": "33713:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33713:32:136"
                  },
                  "nativeSrc": "33710:52:136",
                  "nodeType": "YulIf",
                  "src": "33710:52:136"
                },
                {
                  "nativeSrc": "33771:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33771:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33791:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33791:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "33785:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "33785:5:136"
                    },
                    "nativeSrc": "33785:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33785:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "33775:6:136",
                      "nodeType": "YulTypedName",
                      "src": "33775:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "33844:16:136",
                    "nodeType": "YulBlock",
                    "src": "33844:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33853:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33853:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33856:1:136",
                              "nodeType": "YulLiteral",
                              "src": "33856:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33846:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33846:6:136"
                          },
                          "nativeSrc": "33846:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "33846:12:136"
                        },
                        "nativeSrc": "33846:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "33846:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "33816:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33816:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33824:18:136",
                        "nodeType": "YulLiteral",
                        "src": "33824:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "33813:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "33813:2:136"
                    },
                    "nativeSrc": "33813:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33813:30:136"
                  },
                  "nativeSrc": "33810:50:136",
                  "nodeType": "YulIf",
                  "src": "33810:50:136"
                },
                {
                  "nativeSrc": "33869:71:136",
                  "nodeType": "YulAssignment",
                  "src": "33869:71:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33912:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33912:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "33923:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33923:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33908:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33908:3:136"
                        },
                        "nativeSrc": "33908:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33908:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "33932:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33932:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "33879:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "33879:28:136"
                    },
                    "nativeSrc": "33879:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33879:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33869:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33869:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory",
            "nativeSrc": "33610:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33666:9:136",
                "nodeType": "YulTypedName",
                "src": "33666:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "33677:7:136",
                "nodeType": "YulTypedName",
                "src": "33677:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "33689:6:136",
                "nodeType": "YulTypedName",
                "src": "33689:6:136",
                "type": ""
              }
            ],
            "src": "33610:336:136"
          },
          {
            "body": {
              "nativeSrc": "34029:124:136",
              "nodeType": "YulBlock",
              "src": "34029:124:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34075:16:136",
                    "nodeType": "YulBlock",
                    "src": "34075:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34084:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34084:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34087:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34087:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34077:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34077:6:136"
                          },
                          "nativeSrc": "34077:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34077:12:136"
                        },
                        "nativeSrc": "34077:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34077:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34050:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34050:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34059:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34059:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34046:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34046:3:136"
                        },
                        "nativeSrc": "34046:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34046:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34071:2:136",
                        "nodeType": "YulLiteral",
                        "src": "34071:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34042:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34042:3:136"
                    },
                    "nativeSrc": "34042:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34042:32:136"
                  },
                  "nativeSrc": "34039:52:136",
                  "nodeType": "YulIf",
                  "src": "34039:52:136"
                },
                {
                  "nativeSrc": "34100:47:136",
                  "nodeType": "YulAssignment",
                  "src": "34100:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34137:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34137:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_int8_fromMemory",
                      "nativeSrc": "34110:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "34110:26:136"
                    },
                    "nativeSrc": "34110:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34110:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34100:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34100:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_int8_fromMemory",
            "nativeSrc": "33951:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33995:9:136",
                "nodeType": "YulTypedName",
                "src": "33995:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34006:7:136",
                "nodeType": "YulTypedName",
                "src": "34006:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34018:6:136",
                "nodeType": "YulTypedName",
                "src": "34018:6:136",
                "type": ""
              }
            ],
            "src": "33951:202:136"
          },
          {
            "body": {
              "nativeSrc": "34199:138:136",
              "nodeType": "YulBlock",
              "src": "34199:138:136",
              "statements": [
                {
                  "nativeSrc": "34209:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34209:35:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34235:1:136",
                        "nodeType": "YulLiteral",
                        "src": "34235:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "34238:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "34238:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "signextend",
                      "nativeSrc": "34224:10:136",
                      "nodeType": "YulIdentifier",
                      "src": "34224:10:136"
                    },
                    "nativeSrc": "34224:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34224:20:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "34213:7:136",
                      "nodeType": "YulTypedName",
                      "src": "34213:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34278:22:136",
                    "nodeType": "YulBlock",
                    "src": "34278:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "34280:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "34280:16:136"
                          },
                          "nativeSrc": "34280:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34280:18:136"
                        },
                        "nativeSrc": "34280:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34280:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "34259:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "34259:7:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "34272:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34272:3:136",
                            "type": "",
                            "value": "127"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "34268:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34268:3:136"
                        },
                        "nativeSrc": "34268:8:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34268:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "34256:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "34256:2:136"
                    },
                    "nativeSrc": "34256:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34256:21:136"
                  },
                  "nativeSrc": "34253:47:136",
                  "nodeType": "YulIf",
                  "src": "34253:47:136"
                },
                {
                  "nativeSrc": "34309:22:136",
                  "nodeType": "YulAssignment",
                  "src": "34309:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34320:1:136",
                        "nodeType": "YulLiteral",
                        "src": "34320:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "34323:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "34323:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "34316:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34316:3:136"
                    },
                    "nativeSrc": "34316:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34316:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "34309:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34309:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "negate_t_int8",
            "nativeSrc": "34158:179:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "34181:5:136",
                "nodeType": "YulTypedName",
                "src": "34181:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "34191:3:136",
                "nodeType": "YulTypedName",
                "src": "34191:3:136",
                "type": ""
              }
            ],
            "src": "34158:179:136"
          },
          {
            "body": {
              "nativeSrc": "34458:153:136",
              "nodeType": "YulBlock",
              "src": "34458:153:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34505:16:136",
                    "nodeType": "YulBlock",
                    "src": "34505:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34514:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34514:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34517:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34517:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34507:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34507:6:136"
                          },
                          "nativeSrc": "34507:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34507:12:136"
                        },
                        "nativeSrc": "34507:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34507:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34479:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34479:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34488:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34488:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34475:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34475:3:136"
                        },
                        "nativeSrc": "34475:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34475:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34500:3:136",
                        "nodeType": "YulLiteral",
                        "src": "34500:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34471:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34471:3:136"
                    },
                    "nativeSrc": "34471:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34471:33:136"
                  },
                  "nativeSrc": "34468:53:136",
                  "nodeType": "YulIf",
                  "src": "34468:53:136"
                },
                {
                  "nativeSrc": "34530:75:136",
                  "nodeType": "YulAssignment",
                  "src": "34530:75:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34586:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "34586:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "34597:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "34597:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_fromMemory",
                      "nativeSrc": "34540:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "34540:45:136"
                    },
                    "nativeSrc": "34540:65:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34540:65:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34530:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34530:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr_fromMemory",
            "nativeSrc": "34342:269:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34424:9:136",
                "nodeType": "YulTypedName",
                "src": "34424:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34435:7:136",
                "nodeType": "YulTypedName",
                "src": "34435:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34447:6:136",
                "nodeType": "YulTypedName",
                "src": "34447:6:136",
                "type": ""
              }
            ],
            "src": "34342:269:136"
          },
          {
            "body": {
              "nativeSrc": "34667:217:136",
              "nodeType": "YulBlock",
              "src": "34667:217:136",
              "statements": [
                {
                  "nativeSrc": "34677:78:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34677:78:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "34704:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "34704:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34707:18:136",
                            "nodeType": "YulLiteral",
                            "src": "34707:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34700:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34700:3:136"
                        },
                        "nativeSrc": "34700:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34700:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "34732:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "34732:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34735:18:136",
                            "nodeType": "YulLiteral",
                            "src": "34735:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34728:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34728:3:136"
                        },
                        "nativeSrc": "34728:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34728:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "34696:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34696:3:136"
                    },
                    "nativeSrc": "34696:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34696:59:136"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "34681:11:136",
                      "nodeType": "YulTypedName",
                      "src": "34681:11:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34764:47:136",
                  "nodeType": "YulAssignment",
                  "src": "34764:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "34779:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "34779:11:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34792:18:136",
                        "nodeType": "YulLiteral",
                        "src": "34792:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "34775:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34775:3:136"
                    },
                    "nativeSrc": "34775:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34775:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "34764:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "34764:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34856:22:136",
                    "nodeType": "YulBlock",
                    "src": "34856:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "34858:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "34858:16:136"
                          },
                          "nativeSrc": "34858:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34858:18:136"
                        },
                        "nativeSrc": "34858:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34858:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "34833:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34833:7:136"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "34842:11:136",
                            "nodeType": "YulIdentifier",
                            "src": "34842:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "34830:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "34830:2:136"
                        },
                        "nativeSrc": "34830:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34830:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34823:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34823:6:136"
                    },
                    "nativeSrc": "34823:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34823:32:136"
                  },
                  "nativeSrc": "34820:58:136",
                  "nodeType": "YulIf",
                  "src": "34820:58:136"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "34616:268:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34646:1:136",
                "nodeType": "YulTypedName",
                "src": "34646:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34649:1:136",
                "nodeType": "YulTypedName",
                "src": "34649:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "34655:7:136",
                "nodeType": "YulTypedName",
                "src": "34655:7:136",
                "type": ""
              }
            ],
            "src": "34616:268:136"
          },
          {
            "body": {
              "nativeSrc": "34934:149:136",
              "nodeType": "YulBlock",
              "src": "34934:149:136",
              "statements": [
                {
                  "nativeSrc": "34944:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34944:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "34959:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "34959:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34962:18:136",
                        "nodeType": "YulLiteral",
                        "src": "34962:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "34955:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34955:3:136"
                    },
                    "nativeSrc": "34955:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34955:26:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "34948:3:136",
                      "nodeType": "YulTypedName",
                      "src": "34948:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35005:22:136",
                    "nodeType": "YulBlock",
                    "src": "35005:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "35007:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "35007:16:136"
                          },
                          "nativeSrc": "35007:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35007:18:136"
                        },
                        "nativeSrc": "35007:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35007:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "35000:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35000:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34993:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34993:6:136"
                    },
                    "nativeSrc": "34993:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34993:11:136"
                  },
                  "nativeSrc": "34990:37:136",
                  "nodeType": "YulIf",
                  "src": "34990:37:136"
                },
                {
                  "nativeSrc": "35036:41:136",
                  "nodeType": "YulAssignment",
                  "src": "35036:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "35049:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "35049:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35052:18:136",
                            "nodeType": "YulLiteral",
                            "src": "35052:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35045:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35045:3:136"
                        },
                        "nativeSrc": "35045:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35045:26:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "35073:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35073:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "35041:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35041:3:136"
                    },
                    "nativeSrc": "35041:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35041:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "35036:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "35036:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "34889:194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34919:1:136",
                "nodeType": "YulTypedName",
                "src": "34919:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34922:1:136",
                "nodeType": "YulTypedName",
                "src": "34922:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "34928:1:136",
                "nodeType": "YulTypedName",
                "src": "34928:1:136",
                "type": ""
              }
            ],
            "src": "34889:194:136"
          },
          {
            "body": {
              "nativeSrc": "35146:102:136",
              "nodeType": "YulBlock",
              "src": "35146:102:136",
              "statements": [
                {
                  "nativeSrc": "35156:22:136",
                  "nodeType": "YulAssignment",
                  "src": "35156:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35171:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35171:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35165:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35165:5:136"
                    },
                    "nativeSrc": "35165:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35165:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35156:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35156:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35226:16:136",
                    "nodeType": "YulBlock",
                    "src": "35226:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35235:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35235:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35238:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35238:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35228:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35228:6:136"
                          },
                          "nativeSrc": "35228:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35228:12:136"
                        },
                        "nativeSrc": "35228:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35228:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35200:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "35200:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "35211:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "35211:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35218:4:136",
                                "nodeType": "YulLiteral",
                                "src": "35218:4:136",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "35207:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35207:3:136"
                            },
                            "nativeSrc": "35207:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35207:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "35197:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "35197:2:136"
                        },
                        "nativeSrc": "35197:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35197:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35190:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35190:6:136"
                    },
                    "nativeSrc": "35190:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35190:35:136"
                  },
                  "nativeSrc": "35187:55:136",
                  "nodeType": "YulIf",
                  "src": "35187:55:136"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "35088:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "35125:6:136",
                "nodeType": "YulTypedName",
                "src": "35125:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "35136:5:136",
                "nodeType": "YulTypedName",
                "src": "35136:5:136",
                "type": ""
              }
            ],
            "src": "35088:160:136"
          },
          {
            "body": {
              "nativeSrc": "35325:88:136",
              "nodeType": "YulBlock",
              "src": "35325:88:136",
              "statements": [
                {
                  "nativeSrc": "35335:22:136",
                  "nodeType": "YulAssignment",
                  "src": "35335:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35350:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35350:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35344:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35344:5:136"
                    },
                    "nativeSrc": "35344:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35344:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35335:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35335:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35391:16:136",
                    "nodeType": "YulBlock",
                    "src": "35391:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35400:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35400:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35403:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35403:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35393:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35393:6:136"
                          },
                          "nativeSrc": "35393:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35393:12:136"
                        },
                        "nativeSrc": "35393:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35393:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35379:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "35379:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35386:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35386:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35376:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "35376:2:136"
                        },
                        "nativeSrc": "35376:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35376:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35369:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35369:6:136"
                    },
                    "nativeSrc": "35369:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35369:21:136"
                  },
                  "nativeSrc": "35366:41:136",
                  "nodeType": "YulIf",
                  "src": "35366:41:136"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes_fromMemory",
            "nativeSrc": "35253:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "35304:6:136",
                "nodeType": "YulTypedName",
                "src": "35304:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "35315:5:136",
                "nodeType": "YulTypedName",
                "src": "35315:5:136",
                "type": ""
              }
            ],
            "src": "35253:160:136"
          },
          {
            "body": {
              "nativeSrc": "35498:1385:136",
              "nodeType": "YulBlock",
              "src": "35498:1385:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35547:16:136",
                    "nodeType": "YulBlock",
                    "src": "35547:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35556:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35556:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35559:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35559:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35549:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35549:6:136"
                          },
                          "nativeSrc": "35549:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35549:12:136"
                        },
                        "nativeSrc": "35549:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35549:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "35526:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "35526:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35534:4:136",
                                "nodeType": "YulLiteral",
                                "src": "35534:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35522:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35522:3:136"
                            },
                            "nativeSrc": "35522:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35522:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "35541:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "35541:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "35518:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35518:3:136"
                        },
                        "nativeSrc": "35518:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35518:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35511:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35511:6:136"
                    },
                    "nativeSrc": "35511:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35511:35:136"
                  },
                  "nativeSrc": "35508:55:136",
                  "nodeType": "YulIf",
                  "src": "35508:55:136"
                },
                {
                  "nativeSrc": "35572:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35572:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35592:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35592:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35586:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35586:5:136"
                    },
                    "nativeSrc": "35586:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35586:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "35576:6:136",
                      "nodeType": "YulTypedName",
                      "src": "35576:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35608:79:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35608:79:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "35679:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35679:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_struct_Info_dyn",
                          "nativeSrc": "35635:43:136",
                          "nodeType": "YulIdentifier",
                          "src": "35635:43:136"
                        },
                        "nativeSrc": "35635:51:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35635:51:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "35619:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "35619:15:136"
                    },
                    "nativeSrc": "35619:68:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35619:68:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "35612:3:136",
                      "nodeType": "YulTypedName",
                      "src": "35612:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35696:18:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35696:18:136",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "35711:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "35711:3:136"
                  },
                  "variables": [
                    {
                      "name": "array_1",
                      "nativeSrc": "35700:7:136",
                      "nodeType": "YulTypedName",
                      "src": "35700:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "35730:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35730:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "35735:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35735:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35723:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35723:6:136"
                    },
                    "nativeSrc": "35723:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35723:19:136"
                  },
                  "nativeSrc": "35723:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35723:19:136"
                },
                {
                  "nativeSrc": "35751:21:136",
                  "nodeType": "YulAssignment",
                  "src": "35751:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "35762:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35762:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35767:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35767:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35758:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35758:3:136"
                    },
                    "nativeSrc": "35758:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35758:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "35751:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35751:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "35781:52:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35781:52:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "35803:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35803:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "35815:1:136",
                                "nodeType": "YulLiteral",
                                "src": "35815:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "35818:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "35818:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "35811:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35811:3:136"
                            },
                            "nativeSrc": "35811:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35811:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35799:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35799:3:136"
                        },
                        "nativeSrc": "35799:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35799:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35828:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35828:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35795:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35795:3:136"
                    },
                    "nativeSrc": "35795:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35795:38:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "35785:6:136",
                      "nodeType": "YulTypedName",
                      "src": "35785:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35861:16:136",
                    "nodeType": "YulBlock",
                    "src": "35861:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35870:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35870:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35873:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35873:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35863:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35863:6:136"
                          },
                          "nativeSrc": "35863:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35863:12:136"
                        },
                        "nativeSrc": "35863:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35863:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "35848:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35848:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "35856:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35856:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35845:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "35845:2:136"
                    },
                    "nativeSrc": "35845:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35845:15:136"
                  },
                  "nativeSrc": "35842:35:136",
                  "nodeType": "YulIf",
                  "src": "35842:35:136"
                },
                {
                  "nativeSrc": "35886:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35886:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35901:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35901:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35909:4:136",
                        "nodeType": "YulLiteral",
                        "src": "35909:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35897:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35897:3:136"
                    },
                    "nativeSrc": "35897:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35897:17:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "35890:3:136",
                      "nodeType": "YulTypedName",
                      "src": "35890:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35981:871:136",
                    "nodeType": "YulBlock",
                    "src": "35981:871:136",
                    "statements": [
                      {
                        "nativeSrc": "35995:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "35995:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "36020:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36020:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "36014:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "36014:5:136"
                          },
                          "nativeSrc": "36014:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36014:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "35999:11:136",
                            "nodeType": "YulTypedName",
                            "src": "35999:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36076:16:136",
                          "nodeType": "YulBlock",
                          "src": "36076:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36085:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36085:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36088:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36088:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "36078:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36078:6:136"
                                },
                                "nativeSrc": "36078:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36078:12:136"
                              },
                              "nativeSrc": "36078:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36078:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "36043:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "36043:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36056:18:136",
                              "nodeType": "YulLiteral",
                              "src": "36056:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "36040:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36040:2:136"
                          },
                          "nativeSrc": "36040:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36040:35:136"
                        },
                        "nativeSrc": "36037:55:136",
                        "nodeType": "YulIf",
                        "src": "36037:55:136"
                      },
                      {
                        "nativeSrc": "36105:34:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36105:34:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "offset",
                              "nativeSrc": "36119:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "36119:6:136"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "36127:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "36127:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36115:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36115:3:136"
                          },
                          "nativeSrc": "36115:24:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36115:24:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "36109:2:136",
                            "nodeType": "YulTypedName",
                            "src": "36109:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36185:16:136",
                          "nodeType": "YulBlock",
                          "src": "36185:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36194:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36194:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36197:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36197:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "36187:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36187:6:136"
                                },
                                "nativeSrc": "36187:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36187:12:136"
                              },
                              "nativeSrc": "36187:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36187:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_1",
                                      "nativeSrc": "36170:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "36170:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "36174:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "36174:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "36166:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36166:3:136"
                                  },
                                  "nativeSrc": "36166:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "36166:11:136"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "36179:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36179:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "36162:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "36162:3:136"
                              },
                              "nativeSrc": "36162:21:136",
                              "nodeType": "YulFunctionCall",
                              "src": "36162:21:136"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "36155:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36155:6:136"
                          },
                          "nativeSrc": "36155:29:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36155:29:136"
                        },
                        "nativeSrc": "36152:49:136",
                        "nodeType": "YulIf",
                        "src": "36152:49:136"
                      },
                      {
                        "nativeSrc": "36214:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36214:35:136",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "allocate_memory_6007",
                            "nativeSrc": "36227:20:136",
                            "nodeType": "YulIdentifier",
                            "src": "36227:20:136"
                          },
                          "nativeSrc": "36227:22:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36227:22:136"
                        },
                        "variables": [
                          {
                            "name": "dst_1",
                            "nativeSrc": "36218:5:136",
                            "nodeType": "YulTypedName",
                            "src": "36218:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "36262:20:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36262:20:136",
                        "value": {
                          "name": "dst_1",
                          "nativeSrc": "36277:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "36277:5:136"
                        },
                        "variables": [
                          {
                            "name": "array_2",
                            "nativeSrc": "36266:7:136",
                            "nodeType": "YulTypedName",
                            "src": "36266:7:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "36295:27:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36295:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_1",
                              "nativeSrc": "36315:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "36315:2:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36319:2:136",
                              "nodeType": "YulLiteral",
                              "src": "36319:2:136",
                              "type": "",
                              "value": "96"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36311:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36311:3:136"
                          },
                          "nativeSrc": "36311:11:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36311:11:136"
                        },
                        "variables": [
                          {
                            "name": "srcEnd_1",
                            "nativeSrc": "36299:8:136",
                            "nodeType": "YulTypedName",
                            "src": "36299:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36356:16:136",
                          "nodeType": "YulBlock",
                          "src": "36356:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36365:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36365:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36368:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36368:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "36358:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36358:6:136"
                                },
                                "nativeSrc": "36358:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36358:12:136"
                              },
                              "nativeSrc": "36358:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36358:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "36341:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "36341:8:136"
                            },
                            {
                              "name": "end",
                              "nativeSrc": "36351:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36351:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "36338:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36338:2:136"
                          },
                          "nativeSrc": "36338:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36338:17:136"
                        },
                        "nativeSrc": "36335:37:136",
                        "nodeType": "YulIf",
                        "src": "36335:37:136"
                      },
                      {
                        "nativeSrc": "36385:26:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "36385:26:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_1",
                              "nativeSrc": "36402:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "36402:2:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36406:4:136",
                              "nodeType": "YulLiteral",
                              "src": "36406:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36398:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36398:3:136"
                          },
                          "nativeSrc": "36398:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36398:13:136"
                        },
                        "variables": [
                          {
                            "name": "src_1",
                            "nativeSrc": "36389:5:136",
                            "nodeType": "YulTypedName",
                            "src": "36389:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "36494:281:136",
                          "nodeType": "YulBlock",
                          "src": "36494:281:136",
                          "statements": [
                            {
                              "nativeSrc": "36512:33:136",
                              "nodeType": "YulVariableDeclaration",
                              "src": "36512:33:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "36539:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36539:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "36533:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36533:5:136"
                                },
                                "nativeSrc": "36533:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36533:12:136"
                              },
                              "variables": [
                                {
                                  "name": "innerOffset_1",
                                  "nativeSrc": "36516:13:136",
                                  "nodeType": "YulTypedName",
                                  "src": "36516:13:136",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nativeSrc": "36603:16:136",
                                "nodeType": "YulBlock",
                                "src": "36603:16:136",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "36612:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "36612:1:136",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "36615:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "36615:1:136",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nativeSrc": "36605:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "36605:6:136"
                                      },
                                      "nativeSrc": "36605:12:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "36605:12:136"
                                    },
                                    "nativeSrc": "36605:12:136",
                                    "nodeType": "YulExpressionStatement",
                                    "src": "36605:12:136"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "innerOffset_1",
                                    "nativeSrc": "36568:13:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36568:13:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36583:18:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36583:18:136",
                                    "type": "",
                                    "value": "0xffffffffffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nativeSrc": "36565:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36565:2:136"
                                },
                                "nativeSrc": "36565:37:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36565:37:136"
                              },
                              "nativeSrc": "36562:57:136",
                              "nodeType": "YulIf",
                              "src": "36562:57:136"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "36643:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36643:5:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "_1",
                                                "nativeSrc": "36687:2:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "36687:2:136"
                                              },
                                              {
                                                "name": "innerOffset_1",
                                                "nativeSrc": "36691:13:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "36691:13:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "36683:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "36683:3:136"
                                            },
                                            "nativeSrc": "36683:22:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "36683:22:136"
                                          },
                                          {
                                            "kind": "number",
                                            "nativeSrc": "36707:4:136",
                                            "nodeType": "YulLiteral",
                                            "src": "36707:4:136",
                                            "type": "",
                                            "value": "0x20"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "36679:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "36679:3:136"
                                        },
                                        "nativeSrc": "36679:33:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "36679:33:136"
                                      },
                                      {
                                        "name": "end",
                                        "nativeSrc": "36714:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "36714:3:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "abi_decode_string_fromMemory",
                                      "nativeSrc": "36650:28:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "36650:28:136"
                                    },
                                    "nativeSrc": "36650:68:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "36650:68:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "36636:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36636:6:136"
                                },
                                "nativeSrc": "36636:83:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36636:83:136"
                              },
                              "nativeSrc": "36636:83:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "36636:83:136"
                            },
                            {
                              "nativeSrc": "36736:25:136",
                              "nodeType": "YulAssignment",
                              "src": "36736:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "dst_1",
                                    "nativeSrc": "36749:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36749:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36756:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36756:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "36745:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36745:3:136"
                                },
                                "nativeSrc": "36745:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36745:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "dst_1",
                                  "nativeSrc": "36736:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36736:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "src_1",
                              "nativeSrc": "36435:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "36435:5:136"
                            },
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "36442:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "36442:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "36432:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36432:2:136"
                          },
                          "nativeSrc": "36432:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36432:19:136"
                        },
                        "nativeSrc": "36424:351:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "36452:29:136",
                          "nodeType": "YulBlock",
                          "src": "36452:29:136",
                          "statements": [
                            {
                              "nativeSrc": "36454:25:136",
                              "nodeType": "YulAssignment",
                              "src": "36454:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "36467:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "36467:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36474:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "36474:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "36463:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36463:3:136"
                                },
                                "nativeSrc": "36463:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "36463:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "src_1",
                                  "nativeSrc": "36454:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "36454:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "36428:3:136",
                          "nodeType": "YulBlock",
                          "src": "36428:3:136",
                          "statements": []
                        },
                        "src": "36424:351:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "36795:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36795:3:136"
                            },
                            {
                              "name": "array_2",
                              "nativeSrc": "36800:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "36800:7:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "36788:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36788:6:136"
                          },
                          "nativeSrc": "36788:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36788:20:136"
                        },
                        "nativeSrc": "36788:20:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36788:20:136"
                      },
                      {
                        "nativeSrc": "36821:21:136",
                        "nodeType": "YulAssignment",
                        "src": "36821:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "36832:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36832:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36837:4:136",
                              "nodeType": "YulLiteral",
                              "src": "36837:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "36828:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36828:3:136"
                          },
                          "nativeSrc": "36828:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36828:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "36821:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "36821:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "35934:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "35934:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "35939:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35939:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "35931:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "35931:2:136"
                    },
                    "nativeSrc": "35931:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35931:15:136"
                  },
                  "nativeSrc": "35923:929:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "35947:25:136",
                    "nodeType": "YulBlock",
                    "src": "35947:25:136",
                    "statements": [
                      {
                        "nativeSrc": "35949:21:136",
                        "nodeType": "YulAssignment",
                        "src": "35949:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "35960:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35960:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35965:4:136",
                              "nodeType": "YulLiteral",
                              "src": "35965:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "35956:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "35956:3:136"
                          },
                          "nativeSrc": "35956:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35956:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "35949:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "35949:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "35927:3:136",
                    "nodeType": "YulBlock",
                    "src": "35927:3:136",
                    "statements": []
                  },
                  "src": "35923:929:136"
                },
                {
                  "nativeSrc": "36861:16:136",
                  "nodeType": "YulAssignment",
                  "src": "36861:16:136",
                  "value": {
                    "name": "array_1",
                    "nativeSrc": "36870:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "36870:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "36861:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36861:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_array_string_dyn_fromMemory",
            "nativeSrc": "35418:1465:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "35472:6:136",
                "nodeType": "YulTypedName",
                "src": "35472:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "35480:3:136",
                "nodeType": "YulTypedName",
                "src": "35480:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "35488:5:136",
                "nodeType": "YulTypedName",
                "src": "35488:5:136",
                "type": ""
              }
            ],
            "src": "35418:1465:136"
          },
          {
            "body": {
              "nativeSrc": "37027:2167:136",
              "nodeType": "YulBlock",
              "src": "37027:2167:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37073:16:136",
                    "nodeType": "YulBlock",
                    "src": "37073:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37082:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37082:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37085:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37085:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37075:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37075:6:136"
                          },
                          "nativeSrc": "37075:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37075:12:136"
                        },
                        "nativeSrc": "37075:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37075:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37048:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "37048:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "37057:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "37057:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37044:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37044:3:136"
                        },
                        "nativeSrc": "37044:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37044:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37069:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37069:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37040:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37040:3:136"
                    },
                    "nativeSrc": "37040:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37040:32:136"
                  },
                  "nativeSrc": "37037:52:136",
                  "nodeType": "YulIf",
                  "src": "37037:52:136"
                },
                {
                  "nativeSrc": "37098:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37098:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37118:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37118:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37112:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37112:5:136"
                    },
                    "nativeSrc": "37112:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37112:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "37102:6:136",
                      "nodeType": "YulTypedName",
                      "src": "37102:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37171:16:136",
                    "nodeType": "YulBlock",
                    "src": "37171:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37180:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37180:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37183:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37183:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37173:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37173:6:136"
                          },
                          "nativeSrc": "37173:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37173:12:136"
                        },
                        "nativeSrc": "37173:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37173:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37143:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37143:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37151:18:136",
                        "nodeType": "YulLiteral",
                        "src": "37151:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37140:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37140:2:136"
                    },
                    "nativeSrc": "37140:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37140:30:136"
                  },
                  "nativeSrc": "37137:50:136",
                  "nodeType": "YulIf",
                  "src": "37137:50:136"
                },
                {
                  "nativeSrc": "37196:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37196:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37210:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "37210:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "37221:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37221:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37206:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37206:3:136"
                    },
                    "nativeSrc": "37206:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37206:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37200:2:136",
                      "nodeType": "YulTypedName",
                      "src": "37200:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37276:16:136",
                    "nodeType": "YulBlock",
                    "src": "37276:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37285:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37285:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37288:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37288:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37278:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37278:6:136"
                          },
                          "nativeSrc": "37278:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37278:12:136"
                        },
                        "nativeSrc": "37278:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37278:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37255:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "37255:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37259:4:136",
                                "nodeType": "YulLiteral",
                                "src": "37259:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37251:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37251:3:136"
                            },
                            "nativeSrc": "37251:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37251:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37266:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "37266:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "37247:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37247:3:136"
                        },
                        "nativeSrc": "37247:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37247:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "37240:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37240:6:136"
                    },
                    "nativeSrc": "37240:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37240:35:136"
                  },
                  "nativeSrc": "37237:55:136",
                  "nodeType": "YulIf",
                  "src": "37237:55:136"
                },
                {
                  "nativeSrc": "37301:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37301:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "37321:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "37321:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37315:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37315:5:136"
                    },
                    "nativeSrc": "37315:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37315:9:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "37305:6:136",
                      "nodeType": "YulTypedName",
                      "src": "37305:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37333:79:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37333:79:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "37404:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37404:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_struct_Info_dyn",
                          "nativeSrc": "37360:43:136",
                          "nodeType": "YulIdentifier",
                          "src": "37360:43:136"
                        },
                        "nativeSrc": "37360:51:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37360:51:136"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "37344:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "37344:15:136"
                    },
                    "nativeSrc": "37344:68:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37344:68:136"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "37337:3:136",
                      "nodeType": "YulTypedName",
                      "src": "37337:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37421:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37421:16:136",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "37434:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "37434:3:136"
                  },
                  "variables": [
                    {
                      "name": "array",
                      "nativeSrc": "37425:5:136",
                      "nodeType": "YulTypedName",
                      "src": "37425:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "37453:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "37453:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "37458:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37458:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37446:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37446:6:136"
                    },
                    "nativeSrc": "37446:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37446:19:136"
                  },
                  "nativeSrc": "37446:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37446:19:136"
                },
                {
                  "nativeSrc": "37474:19:136",
                  "nodeType": "YulAssignment",
                  "src": "37474:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "37485:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "37485:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37490:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37490:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37481:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37481:3:136"
                    },
                    "nativeSrc": "37481:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37481:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "37474:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37474:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "37502:46:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37502:46:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "37524:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "37524:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37532:1:136",
                                "nodeType": "YulLiteral",
                                "src": "37532:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "37535:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "37535:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "37528:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37528:3:136"
                            },
                            "nativeSrc": "37528:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37528:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37520:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37520:3:136"
                        },
                        "nativeSrc": "37520:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37520:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37545:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37545:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37516:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37516:3:136"
                    },
                    "nativeSrc": "37516:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37516:32:136"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "37506:6:136",
                      "nodeType": "YulTypedName",
                      "src": "37506:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37580:16:136",
                    "nodeType": "YulBlock",
                    "src": "37580:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37589:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37589:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37592:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37592:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37582:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37582:6:136"
                          },
                          "nativeSrc": "37582:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37582:12:136"
                        },
                        "nativeSrc": "37582:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37582:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "37563:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37563:6:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "37571:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "37571:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37560:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37560:2:136"
                    },
                    "nativeSrc": "37560:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37560:19:136"
                  },
                  "nativeSrc": "37557:39:136",
                  "nodeType": "YulIf",
                  "src": "37557:39:136"
                },
                {
                  "nativeSrc": "37605:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37605:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "37620:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "37620:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37624:2:136",
                        "nodeType": "YulLiteral",
                        "src": "37624:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37616:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37616:3:136"
                    },
                    "nativeSrc": "37616:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37616:11:136"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "37609:3:136",
                      "nodeType": "YulTypedName",
                      "src": "37609:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37692:1472:136",
                    "nodeType": "YulBlock",
                    "src": "37692:1472:136",
                    "statements": [
                      {
                        "nativeSrc": "37706:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "37706:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "37731:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37731:3:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "37725:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "37725:5:136"
                          },
                          "nativeSrc": "37725:10:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37725:10:136"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "37710:11:136",
                            "nodeType": "YulTypedName",
                            "src": "37710:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "37787:16:136",
                          "nodeType": "YulBlock",
                          "src": "37787:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37796:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37796:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37799:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37799:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "37789:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37789:6:136"
                                },
                                "nativeSrc": "37789:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37789:12:136"
                              },
                              "nativeSrc": "37789:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "37789:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "37754:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "37754:11:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37767:18:136",
                              "nodeType": "YulLiteral",
                              "src": "37767:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "37751:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "37751:2:136"
                          },
                          "nativeSrc": "37751:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37751:35:136"
                        },
                        "nativeSrc": "37748:55:136",
                        "nodeType": "YulIf",
                        "src": "37748:55:136"
                      },
                      {
                        "nativeSrc": "37816:30:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "37816:30:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "_1",
                              "nativeSrc": "37830:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "37830:2:136"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "37834:11:136",
                              "nodeType": "YulIdentifier",
                              "src": "37834:11:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37826:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37826:3:136"
                          },
                          "nativeSrc": "37826:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37826:20:136"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "37820:2:136",
                            "nodeType": "YulTypedName",
                            "src": "37820:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "37904:16:136",
                          "nodeType": "YulBlock",
                          "src": "37904:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37913:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37913:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "37916:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "37916:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "37906:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "37906:6:136"
                                },
                                "nativeSrc": "37906:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "37906:12:136"
                              },
                              "nativeSrc": "37906:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "37906:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "dataEnd",
                                      "nativeSrc": "37874:7:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "37874:7:136"
                                    },
                                    {
                                      "name": "_2",
                                      "nativeSrc": "37883:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "37883:2:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "37870:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37870:3:136"
                                  },
                                  "nativeSrc": "37870:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37870:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "37892:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "37892:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "37888:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "37888:3:136"
                                  },
                                  "nativeSrc": "37888:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37888:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "37866:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "37866:3:136"
                              },
                              "nativeSrc": "37866:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "37866:30:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37898:4:136",
                              "nodeType": "YulLiteral",
                              "src": "37898:4:136",
                              "type": "",
                              "value": "0xe0"
                            }
                          ],
                          "functionName": {
                            "name": "slt",
                            "nativeSrc": "37862:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37862:3:136"
                          },
                          "nativeSrc": "37862:41:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37862:41:136"
                        },
                        "nativeSrc": "37859:61:136",
                        "nodeType": "YulIf",
                        "src": "37859:61:136"
                      },
                      {
                        "nativeSrc": "37933:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "37933:35:136",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "allocate_memory_6011",
                            "nativeSrc": "37946:20:136",
                            "nodeType": "YulIdentifier",
                            "src": "37946:20:136"
                          },
                          "nativeSrc": "37946:22:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37946:22:136"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "37937:5:136",
                            "nodeType": "YulTypedName",
                            "src": "37937:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "37988:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "37988:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_2",
                                      "nativeSrc": "38027:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38027:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38031:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38031:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38023:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38023:3:136"
                                  },
                                  "nativeSrc": "38023:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38023:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_uint8_fromMemory",
                                "nativeSrc": "37995:27:136",
                                "nodeType": "YulIdentifier",
                                "src": "37995:27:136"
                              },
                              "nativeSrc": "37995:40:136",
                              "nodeType": "YulFunctionCall",
                              "src": "37995:40:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "37981:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37981:6:136"
                          },
                          "nativeSrc": "37981:55:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37981:55:136"
                        },
                        "nativeSrc": "37981:55:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37981:55:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38060:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38060:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38067:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38067:2:136",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38056:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38056:3:136"
                              },
                              "nativeSrc": "38056:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38056:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_2",
                                      "nativeSrc": "38111:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38111:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38115:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38115:2:136",
                                      "type": "",
                                      "value": "64"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38107:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38107:3:136"
                                  },
                                  "nativeSrc": "38107:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38107:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_enum_Mappers_fromMemory",
                                "nativeSrc": "38072:34:136",
                                "nodeType": "YulIdentifier",
                                "src": "38072:34:136"
                              },
                              "nativeSrc": "38072:47:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38072:47:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38049:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38049:6:136"
                          },
                          "nativeSrc": "38049:71:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38049:71:136"
                        },
                        "nativeSrc": "38049:71:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38049:71:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38144:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38144:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38151:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38151:2:136",
                                  "type": "",
                                  "value": "64"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38140:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38140:3:136"
                              },
                              "nativeSrc": "38140:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38140:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_2",
                                      "nativeSrc": "38202:2:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "38202:2:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38206:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38206:2:136",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38198:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38198:3:136"
                                  },
                                  "nativeSrc": "38198:11:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38198:11:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                                "nativeSrc": "38156:41:136",
                                "nodeType": "YulIdentifier",
                                "src": "38156:41:136"
                              },
                              "nativeSrc": "38156:54:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38156:54:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38133:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38133:6:136"
                          },
                          "nativeSrc": "38133:78:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38133:78:136"
                        },
                        "nativeSrc": "38133:78:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38133:78:136"
                      },
                      {
                        "nativeSrc": "38224:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38224:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_2",
                                  "nativeSrc": "38250:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38250:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38254:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38254:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38246:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38246:3:136"
                              },
                              "nativeSrc": "38246:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38246:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38240:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38240:5:136"
                          },
                          "nativeSrc": "38240:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38240:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_1",
                            "nativeSrc": "38228:8:136",
                            "nodeType": "YulTypedName",
                            "src": "38228:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38308:16:136",
                          "nodeType": "YulBlock",
                          "src": "38308:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38317:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38317:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38320:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38320:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38310:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38310:6:136"
                                },
                                "nativeSrc": "38310:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38310:12:136"
                              },
                              "nativeSrc": "38310:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38310:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_1",
                              "nativeSrc": "38278:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "38278:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38288:18:136",
                              "nodeType": "YulLiteral",
                              "src": "38288:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38275:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38275:2:136"
                          },
                          "nativeSrc": "38275:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38275:32:136"
                        },
                        "nativeSrc": "38272:52:136",
                        "nodeType": "YulIf",
                        "src": "38272:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38348:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38348:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38355:2:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38355:2:136",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38344:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38344:3:136"
                              },
                              "nativeSrc": "38344:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38344:14:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_2",
                                          "nativeSrc": "38397:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38397:2:136"
                                        },
                                        {
                                          "name": "offset_1",
                                          "nativeSrc": "38401:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38401:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "38393:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "38393:3:136"
                                      },
                                      "nativeSrc": "38393:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "38393:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38412:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38412:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38389:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38389:3:136"
                                  },
                                  "nativeSrc": "38389:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38389:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "38417:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38417:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "38360:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "38360:28:136"
                              },
                              "nativeSrc": "38360:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38360:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38337:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38337:6:136"
                          },
                          "nativeSrc": "38337:89:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38337:89:136"
                        },
                        "nativeSrc": "38337:89:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38337:89:136"
                      },
                      {
                        "nativeSrc": "38439:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38439:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_2",
                                  "nativeSrc": "38465:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38465:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38469:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38469:3:136",
                                  "type": "",
                                  "value": "160"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38461:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38461:3:136"
                              },
                              "nativeSrc": "38461:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38461:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38455:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38455:5:136"
                          },
                          "nativeSrc": "38455:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38455:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_2",
                            "nativeSrc": "38443:8:136",
                            "nodeType": "YulTypedName",
                            "src": "38443:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38523:16:136",
                          "nodeType": "YulBlock",
                          "src": "38523:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38532:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38532:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38535:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38535:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38525:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38525:6:136"
                                },
                                "nativeSrc": "38525:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38525:12:136"
                              },
                              "nativeSrc": "38525:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38525:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_2",
                              "nativeSrc": "38493:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "38493:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38503:18:136",
                              "nodeType": "YulLiteral",
                              "src": "38503:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38490:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38490:2:136"
                          },
                          "nativeSrc": "38490:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38490:32:136"
                        },
                        "nativeSrc": "38487:52:136",
                        "nodeType": "YulIf",
                        "src": "38487:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38563:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38563:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38570:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38570:3:136",
                                  "type": "",
                                  "value": "128"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38559:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38559:3:136"
                              },
                              "nativeSrc": "38559:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38559:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_2",
                                          "nativeSrc": "38613:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38613:2:136"
                                        },
                                        {
                                          "name": "offset_2",
                                          "nativeSrc": "38617:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38617:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "38609:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "38609:3:136"
                                      },
                                      "nativeSrc": "38609:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "38609:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38628:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38628:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38605:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38605:3:136"
                                  },
                                  "nativeSrc": "38605:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38605:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "38633:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38633:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "38576:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "38576:28:136"
                              },
                              "nativeSrc": "38576:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38576:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38552:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38552:6:136"
                          },
                          "nativeSrc": "38552:90:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38552:90:136"
                        },
                        "nativeSrc": "38552:90:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38552:90:136"
                      },
                      {
                        "nativeSrc": "38655:35:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38655:35:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_2",
                                  "nativeSrc": "38681:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38681:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38685:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38685:3:136",
                                  "type": "",
                                  "value": "192"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38677:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38677:3:136"
                              },
                              "nativeSrc": "38677:12:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38677:12:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38671:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38671:5:136"
                          },
                          "nativeSrc": "38671:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38671:19:136"
                        },
                        "variables": [
                          {
                            "name": "offset_3",
                            "nativeSrc": "38659:8:136",
                            "nodeType": "YulTypedName",
                            "src": "38659:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38739:16:136",
                          "nodeType": "YulBlock",
                          "src": "38739:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38748:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38748:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38751:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38751:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38741:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38741:6:136"
                                },
                                "nativeSrc": "38741:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38741:12:136"
                              },
                              "nativeSrc": "38741:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38741:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_3",
                              "nativeSrc": "38709:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "38709:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38719:18:136",
                              "nodeType": "YulLiteral",
                              "src": "38719:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38706:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38706:2:136"
                          },
                          "nativeSrc": "38706:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38706:32:136"
                        },
                        "nativeSrc": "38703:52:136",
                        "nodeType": "YulIf",
                        "src": "38703:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "38779:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38779:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38786:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38786:3:136",
                                  "type": "",
                                  "value": "160"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38775:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38775:3:136"
                              },
                              "nativeSrc": "38775:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38775:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_2",
                                          "nativeSrc": "38845:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38845:2:136"
                                        },
                                        {
                                          "name": "offset_3",
                                          "nativeSrc": "38849:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "38849:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "38841:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "38841:3:136"
                                      },
                                      "nativeSrc": "38841:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "38841:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "38860:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "38860:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "38837:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "38837:3:136"
                                  },
                                  "nativeSrc": "38837:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "38837:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "38865:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38865:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_array_array_string_dyn_fromMemory",
                                "nativeSrc": "38792:44:136",
                                "nodeType": "YulIdentifier",
                                "src": "38792:44:136"
                              },
                              "nativeSrc": "38792:81:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38792:81:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38768:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38768:6:136"
                          },
                          "nativeSrc": "38768:106:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38768:106:136"
                        },
                        "nativeSrc": "38768:106:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38768:106:136"
                      },
                      {
                        "nativeSrc": "38887:36:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "38887:36:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "_2",
                                  "nativeSrc": "38913:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38913:2:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38917:4:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38917:4:136",
                                  "type": "",
                                  "value": "0xe0"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "38909:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38909:3:136"
                              },
                              "nativeSrc": "38909:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38909:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "38903:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "38903:5:136"
                          },
                          "nativeSrc": "38903:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38903:20:136"
                        },
                        "variables": [
                          {
                            "name": "offset_4",
                            "nativeSrc": "38891:8:136",
                            "nodeType": "YulTypedName",
                            "src": "38891:8:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "38972:16:136",
                          "nodeType": "YulBlock",
                          "src": "38972:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38981:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38981:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38984:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "38984:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "38974:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "38974:6:136"
                                },
                                "nativeSrc": "38974:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "38974:12:136"
                              },
                              "nativeSrc": "38974:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "38974:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "offset_4",
                              "nativeSrc": "38942:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "38942:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38952:18:136",
                              "nodeType": "YulLiteral",
                              "src": "38952:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "38939:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "38939:2:136"
                          },
                          "nativeSrc": "38939:32:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38939:32:136"
                        },
                        "nativeSrc": "38936:52:136",
                        "nodeType": "YulIf",
                        "src": "38936:52:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "value",
                                  "nativeSrc": "39012:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39012:5:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "39019:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "39019:3:136",
                                  "type": "",
                                  "value": "192"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "39008:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "39008:3:136"
                              },
                              "nativeSrc": "39008:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39008:15:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_2",
                                          "nativeSrc": "39062:2:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39062:2:136"
                                        },
                                        {
                                          "name": "offset_4",
                                          "nativeSrc": "39066:8:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "39066:8:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "39058:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "39058:3:136"
                                      },
                                      "nativeSrc": "39058:17:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "39058:17:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "39077:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "39077:2:136",
                                      "type": "",
                                      "value": "32"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "39054:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "39054:3:136"
                                  },
                                  "nativeSrc": "39054:26:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "39054:26:136"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "39082:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "39082:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "39025:28:136",
                                "nodeType": "YulIdentifier",
                                "src": "39025:28:136"
                              },
                              "nativeSrc": "39025:65:136",
                              "nodeType": "YulFunctionCall",
                              "src": "39025:65:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39001:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39001:6:136"
                          },
                          "nativeSrc": "39001:90:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39001:90:136"
                        },
                        "nativeSrc": "39001:90:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39001:90:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "39111:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39111:3:136"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "39116:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "39116:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "39104:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39104:6:136"
                          },
                          "nativeSrc": "39104:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39104:18:136"
                        },
                        "nativeSrc": "39104:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39104:18:136"
                      },
                      {
                        "nativeSrc": "39135:19:136",
                        "nodeType": "YulAssignment",
                        "src": "39135:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "39146:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39146:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39151:2:136",
                              "nodeType": "YulLiteral",
                              "src": "39151:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "39142:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "39142:3:136"
                          },
                          "nativeSrc": "39142:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39142:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "39135:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "39135:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "37647:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "37647:3:136"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "37652:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "37652:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "37644:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37644:2:136"
                    },
                    "nativeSrc": "37644:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37644:15:136"
                  },
                  "nativeSrc": "37636:1528:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "37660:23:136",
                    "nodeType": "YulBlock",
                    "src": "37660:23:136",
                    "statements": [
                      {
                        "nativeSrc": "37662:19:136",
                        "nodeType": "YulAssignment",
                        "src": "37662:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "37673:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37673:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37678:2:136",
                              "nodeType": "YulLiteral",
                              "src": "37678:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "37669:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37669:3:136"
                          },
                          "nativeSrc": "37669:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37669:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "37662:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "37662:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "37640:3:136",
                    "nodeType": "YulBlock",
                    "src": "37640:3:136",
                    "statements": []
                  },
                  "src": "37636:1528:136"
                },
                {
                  "nativeSrc": "39173:15:136",
                  "nodeType": "YulAssignment",
                  "src": "39173:15:136",
                  "value": {
                    "name": "array",
                    "nativeSrc": "39183:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "39183:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39173:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39173:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "36888:2306:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36993:9:136",
                "nodeType": "YulTypedName",
                "src": "36993:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "37004:7:136",
                "nodeType": "YulTypedName",
                "src": "37004:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "37016:6:136",
                "nodeType": "YulTypedName",
                "src": "37016:6:136",
                "type": ""
              }
            ],
            "src": "36888:2306:136"
          },
          {
            "body": {
              "nativeSrc": "39279:169:136",
              "nodeType": "YulBlock",
              "src": "39279:169:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39325:16:136",
                    "nodeType": "YulBlock",
                    "src": "39325:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39334:1:136",
                              "nodeType": "YulLiteral",
                              "src": "39334:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39337:1:136",
                              "nodeType": "YulLiteral",
                              "src": "39337:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39327:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39327:6:136"
                          },
                          "nativeSrc": "39327:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39327:12:136"
                        },
                        "nativeSrc": "39327:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39327:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "39300:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "39300:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "39309:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39309:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "39296:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39296:3:136"
                        },
                        "nativeSrc": "39296:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39296:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39321:2:136",
                        "nodeType": "YulLiteral",
                        "src": "39321:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "39292:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "39292:3:136"
                    },
                    "nativeSrc": "39292:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39292:32:136"
                  },
                  "nativeSrc": "39289:52:136",
                  "nodeType": "YulIf",
                  "src": "39289:52:136"
                },
                {
                  "nativeSrc": "39350:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39350:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39369:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39369:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39363:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "39363:5:136"
                    },
                    "nativeSrc": "39363:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39363:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "39354:5:136",
                      "nodeType": "YulTypedName",
                      "src": "39354:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39412:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "39412:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "39388:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "39388:23:136"
                    },
                    "nativeSrc": "39388:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39388:30:136"
                  },
                  "nativeSrc": "39388:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39388:30:136"
                },
                {
                  "nativeSrc": "39427:15:136",
                  "nodeType": "YulAssignment",
                  "src": "39427:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "39437:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "39437:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39427:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39427:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "39199:249:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39245:9:136",
                "nodeType": "YulTypedName",
                "src": "39245:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "39256:7:136",
                "nodeType": "YulTypedName",
                "src": "39256:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "39268:6:136",
                "nodeType": "YulTypedName",
                "src": "39268:6:136",
                "type": ""
              }
            ],
            "src": "39199:249:136"
          },
          {
            "body": {
              "nativeSrc": "39558:142:136",
              "nodeType": "YulBlock",
              "src": "39558:142:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39605:16:136",
                    "nodeType": "YulBlock",
                    "src": "39605:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39614:1:136",
                              "nodeType": "YulLiteral",
                              "src": "39614:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39617:1:136",
                              "nodeType": "YulLiteral",
                              "src": "39617:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39607:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39607:6:136"
                          },
                          "nativeSrc": "39607:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "39607:12:136"
                        },
                        "nativeSrc": "39607:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "39607:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "39579:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "39579:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "39588:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39588:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "39575:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39575:3:136"
                        },
                        "nativeSrc": "39575:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39575:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39600:3:136",
                        "nodeType": "YulLiteral",
                        "src": "39600:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "39571:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "39571:3:136"
                    },
                    "nativeSrc": "39571:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39571:33:136"
                  },
                  "nativeSrc": "39568:53:136",
                  "nodeType": "YulIf",
                  "src": "39568:53:136"
                },
                {
                  "nativeSrc": "39630:64:136",
                  "nodeType": "YulAssignment",
                  "src": "39630:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39675:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39675:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "39686:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "39686:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_Price_fromMemory",
                      "nativeSrc": "39640:34:136",
                      "nodeType": "YulIdentifier",
                      "src": "39640:34:136"
                    },
                    "nativeSrc": "39640:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39640:54:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39630:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39630:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$28105_memory_ptr_fromMemory",
            "nativeSrc": "39453:247:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39524:9:136",
                "nodeType": "YulTypedName",
                "src": "39524:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "39535:7:136",
                "nodeType": "YulTypedName",
                "src": "39535:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "39547:6:136",
                "nodeType": "YulTypedName",
                "src": "39547:6:136",
                "type": ""
              }
            ],
            "src": "39453:247:136"
          },
          {
            "body": {
              "nativeSrc": "39836:259:136",
              "nodeType": "YulBlock",
              "src": "39836:259:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39853:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39853:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39864:2:136",
                        "nodeType": "YulLiteral",
                        "src": "39864:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39846:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39846:6:136"
                    },
                    "nativeSrc": "39846:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39846:21:136"
                  },
                  "nativeSrc": "39846:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39846:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39887:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39887:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39898:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39898:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39883:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39883:3:136"
                        },
                        "nativeSrc": "39883:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39883:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "39903:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "39903:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39876:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39876:6:136"
                    },
                    "nativeSrc": "39876:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39876:34:136"
                  },
                  "nativeSrc": "39876:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39876:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39936:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39936:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39947:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39947:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39932:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39932:3:136"
                        },
                        "nativeSrc": "39932:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39932:18:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "39952:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "39952:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "39960:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "39960:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "39919:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "39919:12:136"
                    },
                    "nativeSrc": "39919:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39919:48:136"
                  },
                  "nativeSrc": "39919:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39919:48:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "39991:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "39991:9:136"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "40002:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "40002:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39987:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39987:3:136"
                            },
                            "nativeSrc": "39987:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "39987:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40011:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40011:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39983:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39983:3:136"
                        },
                        "nativeSrc": "39983:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39983:31:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40016:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40016:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39976:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39976:6:136"
                    },
                    "nativeSrc": "39976:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39976:42:136"
                  },
                  "nativeSrc": "39976:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39976:42:136"
                },
                {
                  "nativeSrc": "40027:62:136",
                  "nodeType": "YulAssignment",
                  "src": "40027:62:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40043:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40043:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value1",
                                    "nativeSrc": "40062:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "40062:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40070:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "40070:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40058:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "40058:3:136"
                                },
                                "nativeSrc": "40058:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "40058:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40079:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "40079:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "40075:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "40075:3:136"
                                },
                                "nativeSrc": "40075:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "40075:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "40054:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "40054:3:136"
                            },
                            "nativeSrc": "40054:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "40054:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40039:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40039:3:136"
                        },
                        "nativeSrc": "40039:45:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40039:45:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40086:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40086:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "40035:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40035:3:136"
                    },
                    "nativeSrc": "40035:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40035:54:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "40027:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "40027:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "39705:390:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39797:9:136",
                "nodeType": "YulTypedName",
                "src": "39797:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "39808:6:136",
                "nodeType": "YulTypedName",
                "src": "39808:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "39816:6:136",
                "nodeType": "YulTypedName",
                "src": "39816:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "39827:4:136",
                "nodeType": "YulTypedName",
                "src": "39827:4:136",
                "type": ""
              }
            ],
            "src": "39705:390:136"
          },
          {
            "body": {
              "nativeSrc": "40178:124:136",
              "nodeType": "YulBlock",
              "src": "40178:124:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "40224:16:136",
                    "nodeType": "YulBlock",
                    "src": "40224:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40233:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40233:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40236:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40236:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40226:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40226:6:136"
                          },
                          "nativeSrc": "40226:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40226:12:136"
                        },
                        "nativeSrc": "40226:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40226:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40199:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "40199:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "40208:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40208:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40195:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40195:3:136"
                        },
                        "nativeSrc": "40195:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40195:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40220:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40220:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40191:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40191:3:136"
                    },
                    "nativeSrc": "40191:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40191:32:136"
                  },
                  "nativeSrc": "40188:52:136",
                  "nodeType": "YulIf",
                  "src": "40188:52:136"
                },
                {
                  "nativeSrc": "40249:47:136",
                  "nodeType": "YulAssignment",
                  "src": "40249:47:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40286:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40286:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bool_fromMemory",
                      "nativeSrc": "40259:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "40259:26:136"
                    },
                    "nativeSrc": "40259:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40259:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "40249:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40249:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "40100:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40144:9:136",
                "nodeType": "YulTypedName",
                "src": "40144:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "40155:7:136",
                "nodeType": "YulTypedName",
                "src": "40155:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "40167:6:136",
                "nodeType": "YulTypedName",
                "src": "40167:6:136",
                "type": ""
              }
            ],
            "src": "40100:202:136"
          },
          {
            "body": {
              "nativeSrc": "40398:246:136",
              "nodeType": "YulBlock",
              "src": "40398:246:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "40444:16:136",
                    "nodeType": "YulBlock",
                    "src": "40444:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40453:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40453:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40456:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40456:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40446:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40446:6:136"
                          },
                          "nativeSrc": "40446:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40446:12:136"
                        },
                        "nativeSrc": "40446:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40446:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40419:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "40419:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "40428:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40428:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40415:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40415:3:136"
                        },
                        "nativeSrc": "40415:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40415:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40440:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40440:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40411:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40411:3:136"
                    },
                    "nativeSrc": "40411:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40411:32:136"
                  },
                  "nativeSrc": "40408:52:136",
                  "nodeType": "YulIf",
                  "src": "40408:52:136"
                },
                {
                  "nativeSrc": "40469:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40469:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40489:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40489:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40483:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "40483:5:136"
                    },
                    "nativeSrc": "40483:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40483:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "40473:6:136",
                      "nodeType": "YulTypedName",
                      "src": "40473:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40542:16:136",
                    "nodeType": "YulBlock",
                    "src": "40542:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40551:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40551:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40554:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40554:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40544:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40544:6:136"
                          },
                          "nativeSrc": "40544:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40544:12:136"
                        },
                        "nativeSrc": "40544:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40544:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "40514:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "40514:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40522:18:136",
                        "nodeType": "YulLiteral",
                        "src": "40522:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "40511:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "40511:2:136"
                    },
                    "nativeSrc": "40511:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40511:30:136"
                  },
                  "nativeSrc": "40508:50:136",
                  "nodeType": "YulIf",
                  "src": "40508:50:136"
                },
                {
                  "nativeSrc": "40567:71:136",
                  "nodeType": "YulAssignment",
                  "src": "40567:71:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40610:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40610:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "40621:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40621:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40606:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40606:3:136"
                        },
                        "nativeSrc": "40606:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40606:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "40630:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "40630:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "40577:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "40577:28:136"
                    },
                    "nativeSrc": "40577:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40577:61:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "40567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40567:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "40307:337:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40364:9:136",
                "nodeType": "YulTypedName",
                "src": "40364:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "40375:7:136",
                "nodeType": "YulTypedName",
                "src": "40375:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "40387:6:136",
                "nodeType": "YulTypedName",
                "src": "40387:6:136",
                "type": ""
              }
            ],
            "src": "40307:337:136"
          },
          {
            "body": {
              "nativeSrc": "40704:325:136",
              "nodeType": "YulBlock",
              "src": "40704:325:136",
              "statements": [
                {
                  "nativeSrc": "40714:22:136",
                  "nodeType": "YulAssignment",
                  "src": "40714:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40728:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40728:1:136",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "40731:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "40731:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "40724:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40724:3:136"
                    },
                    "nativeSrc": "40724:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40724:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "40714:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40714:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "40745:38:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40745:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "40775:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "40775:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40781:1:136",
                        "nodeType": "YulLiteral",
                        "src": "40781:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "40771:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40771:3:136"
                    },
                    "nativeSrc": "40771:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40771:12:136"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "40749:18:136",
                      "nodeType": "YulTypedName",
                      "src": "40749:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40822:31:136",
                    "nodeType": "YulBlock",
                    "src": "40822:31:136",
                    "statements": [
                      {
                        "nativeSrc": "40824:27:136",
                        "nodeType": "YulAssignment",
                        "src": "40824:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "40838:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "40838:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40846:4:136",
                              "nodeType": "YulLiteral",
                              "src": "40846:4:136",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "40834:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "40834:3:136"
                          },
                          "nativeSrc": "40834:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40834:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "40824:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40824:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "40802:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "40802:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "40795:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40795:6:136"
                    },
                    "nativeSrc": "40795:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40795:26:136"
                  },
                  "nativeSrc": "40792:61:136",
                  "nodeType": "YulIf",
                  "src": "40792:61:136"
                },
                {
                  "body": {
                    "nativeSrc": "40912:111:136",
                    "nodeType": "YulBlock",
                    "src": "40912:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40933:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40933:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "40940:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "40940:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "40945:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "40945:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "40936:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "40936:3:136"
                              },
                              "nativeSrc": "40936:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "40936:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "40926:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40926:6:136"
                          },
                          "nativeSrc": "40926:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40926:31:136"
                        },
                        "nativeSrc": "40926:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40926:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40977:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40977:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40980:4:136",
                              "nodeType": "YulLiteral",
                              "src": "40980:4:136",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "40970:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40970:6:136"
                          },
                          "nativeSrc": "40970:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40970:15:136"
                        },
                        "nativeSrc": "40970:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40970:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41005:1:136",
                              "nodeType": "YulLiteral",
                              "src": "41005:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41008:4:136",
                              "nodeType": "YulLiteral",
                              "src": "41008:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40998:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40998:6:136"
                          },
                          "nativeSrc": "40998:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40998:15:136"
                        },
                        "nativeSrc": "40998:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40998:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "40868:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "40868:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "40891:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40891:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40899:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40899:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "40888:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "40888:2:136"
                        },
                        "nativeSrc": "40888:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40888:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "40865:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "40865:2:136"
                    },
                    "nativeSrc": "40865:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40865:38:136"
                  },
                  "nativeSrc": "40862:161:136",
                  "nodeType": "YulIf",
                  "src": "40862:161:136"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "40649:380:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "40684:4:136",
                "nodeType": "YulTypedName",
                "src": "40684:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "40693:6:136",
                "nodeType": "YulTypedName",
                "src": "40693:6:136",
                "type": ""
              }
            ],
            "src": "40649:380:136"
          },
          {
            "body": {
              "nativeSrc": "41274:98:136",
              "nodeType": "YulBlock",
              "src": "41274:98:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "41291:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "41291:3:136"
                      },
                      {
                        "hexValue": "627970617373656420746f20",
                        "kind": "string",
                        "nativeSrc": "41296:14:136",
                        "nodeType": "YulLiteral",
                        "src": "41296:14:136",
                        "type": "",
                        "value": "bypassed to "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41284:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41284:6:136"
                    },
                    "nativeSrc": "41284:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41284:27:136"
                  },
                  "nativeSrc": "41284:27:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41284:27:136"
                },
                {
                  "nativeSrc": "41320:46:136",
                  "nodeType": "YulAssignment",
                  "src": "41320:46:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "41345:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41345:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "41357:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "41357:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41362:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41362:2:136",
                            "type": "",
                            "value": "12"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41353:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41353:3:136"
                        },
                        "nativeSrc": "41353:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41353:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "41327:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "41327:17:136"
                    },
                    "nativeSrc": "41327:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41327:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "41320:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41320:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_fccea4c12d08fbc4c133f06510dceb96e5d8735022a4075b96fdd082352870f7_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "41034:338:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "41250:3:136",
                "nodeType": "YulTypedName",
                "src": "41250:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41255:6:136",
                "nodeType": "YulTypedName",
                "src": "41255:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "41266:3:136",
                "nodeType": "YulTypedName",
                "src": "41266:3:136",
                "type": ""
              }
            ],
            "src": "41034:338:136"
          },
          {
            "body": {
              "nativeSrc": "41425:77:136",
              "nodeType": "YulBlock",
              "src": "41425:77:136",
              "statements": [
                {
                  "nativeSrc": "41435:16:136",
                  "nodeType": "YulAssignment",
                  "src": "41435:16:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "41446:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "41446:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "41449:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "41449:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41442:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41442:3:136"
                    },
                    "nativeSrc": "41442:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41442:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "41435:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41435:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41474:22:136",
                    "nodeType": "YulBlock",
                    "src": "41474:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "41476:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "41476:16:136"
                          },
                          "nativeSrc": "41476:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "41476:18:136"
                        },
                        "nativeSrc": "41476:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "41476:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "41466:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "41466:1:136"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "41469:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "41469:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41463:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "41463:2:136"
                    },
                    "nativeSrc": "41463:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41463:10:136"
                  },
                  "nativeSrc": "41460:36:136",
                  "nodeType": "YulIf",
                  "src": "41460:36:136"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "41377:125:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "41408:1:136",
                "nodeType": "YulTypedName",
                "src": "41408:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "41411:1:136",
                "nodeType": "YulTypedName",
                "src": "41411:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "41417:3:136",
                "nodeType": "YulTypedName",
                "src": "41417:3:136",
                "type": ""
              }
            ],
            "src": "41377:125:136"
          },
          {
            "body": {
              "nativeSrc": "41694:80:136",
              "nodeType": "YulBlock",
              "src": "41694:80:136",
              "statements": [
                {
                  "nativeSrc": "41704:64:136",
                  "nodeType": "YulAssignment",
                  "src": "41704:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "41729:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41729:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "41755:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41755:6:136"
                          },
                          {
                            "name": "pos",
                            "nativeSrc": "41763:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "41763:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_encode_string",
                          "nativeSrc": "41737:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "41737:17:136"
                        },
                        "nativeSrc": "41737:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41737:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "41711:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "41711:17:136"
                    },
                    "nativeSrc": "41711:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41711:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "41704:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41704:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "41507:267:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "41662:3:136",
                "nodeType": "YulTypedName",
                "src": "41662:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41667:6:136",
                "nodeType": "YulTypedName",
                "src": "41667:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41675:6:136",
                "nodeType": "YulTypedName",
                "src": "41675:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "41686:3:136",
                "nodeType": "YulTypedName",
                "src": "41686:3:136",
                "type": ""
              }
            ],
            "src": "41507:267:136"
          },
          {
            "body": {
              "nativeSrc": "41953:231:136",
              "nodeType": "YulBlock",
              "src": "41953:231:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41970:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41970:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41981:2:136",
                        "nodeType": "YulLiteral",
                        "src": "41981:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41963:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41963:6:136"
                    },
                    "nativeSrc": "41963:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41963:21:136"
                  },
                  "nativeSrc": "41963:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41963:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42004:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42004:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42015:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42015:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42000:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42000:3:136"
                        },
                        "nativeSrc": "42000:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42000:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42020:2:136",
                        "nodeType": "YulLiteral",
                        "src": "42020:2:136",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41993:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41993:6:136"
                    },
                    "nativeSrc": "41993:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41993:30:136"
                  },
                  "nativeSrc": "41993:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41993:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42043:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42043:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42054:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42054:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42039:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42039:3:136"
                        },
                        "nativeSrc": "42039:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42039:18:136"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "42059:34:136",
                        "nodeType": "YulLiteral",
                        "src": "42059:34:136",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42032:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42032:6:136"
                    },
                    "nativeSrc": "42032:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42032:62:136"
                  },
                  "nativeSrc": "42032:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42032:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42114:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42114:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42125:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42125:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42110:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42110:3:136"
                        },
                        "nativeSrc": "42110:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42110:18:136"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "42130:11:136",
                        "nodeType": "YulLiteral",
                        "src": "42130:11:136",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42103:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42103:6:136"
                    },
                    "nativeSrc": "42103:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42103:39:136"
                  },
                  "nativeSrc": "42103:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42103:39:136"
                },
                {
                  "nativeSrc": "42151:27:136",
                  "nodeType": "YulAssignment",
                  "src": "42151:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42163:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "42163:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42174:3:136",
                        "nodeType": "YulLiteral",
                        "src": "42174:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42159:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42159:3:136"
                    },
                    "nativeSrc": "42159:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42159:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42151:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "42151:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "41779:405:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41930:9:136",
                "nodeType": "YulTypedName",
                "src": "41930:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41944:4:136",
                "nodeType": "YulTypedName",
                "src": "41944:4:136",
                "type": ""
              }
            ],
            "src": "41779:405:136"
          },
          {
            "body": {
              "nativeSrc": "42477:134:136",
              "nodeType": "YulBlock",
              "src": "42477:134:136",
              "statements": [
                {
                  "nativeSrc": "42487:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42487:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "42515:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42515:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "42523:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "42523:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "42497:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "42497:17:136"
                    },
                    "nativeSrc": "42497:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42497:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "42491:2:136",
                      "nodeType": "YulTypedName",
                      "src": "42491:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "42543:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "42543:2:136"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "42547:4:136",
                        "nodeType": "YulLiteral",
                        "src": "42547:4:136",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42536:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42536:6:136"
                    },
                    "nativeSrc": "42536:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42536:16:136"
                  },
                  "nativeSrc": "42536:16:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42536:16:136"
                },
                {
                  "nativeSrc": "42561:44:136",
                  "nodeType": "YulAssignment",
                  "src": "42561:44:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "42586:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42586:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "42598:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "42598:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42602:1:136",
                            "nodeType": "YulLiteral",
                            "src": "42602:1:136",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42594:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42594:3:136"
                        },
                        "nativeSrc": "42594:10:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42594:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "42568:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "42568:17:136"
                    },
                    "nativeSrc": "42568:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42568:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "42561:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42561:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "42189:422:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "42445:3:136",
                "nodeType": "YulTypedName",
                "src": "42445:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "42450:6:136",
                "nodeType": "YulTypedName",
                "src": "42450:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "42458:6:136",
                "nodeType": "YulTypedName",
                "src": "42458:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "42469:3:136",
                "nodeType": "YulTypedName",
                "src": "42469:3:136",
                "type": ""
              }
            ],
            "src": "42189:422:136"
          },
          {
            "body": {
              "nativeSrc": "42663:88:136",
              "nodeType": "YulBlock",
              "src": "42663:88:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "42694:22:136",
                    "nodeType": "YulBlock",
                    "src": "42694:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "42696:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "42696:16:136"
                          },
                          "nativeSrc": "42696:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42696:18:136"
                        },
                        "nativeSrc": "42696:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42696:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "42679:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42679:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "42690:1:136",
                            "nodeType": "YulLiteral",
                            "src": "42690:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "42686:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42686:3:136"
                        },
                        "nativeSrc": "42686:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42686:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "42676:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "42676:2:136"
                    },
                    "nativeSrc": "42676:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42676:17:136"
                  },
                  "nativeSrc": "42673:43:136",
                  "nodeType": "YulIf",
                  "src": "42673:43:136"
                },
                {
                  "nativeSrc": "42725:20:136",
                  "nodeType": "YulAssignment",
                  "src": "42725:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "42736:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42736:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42743:1:136",
                        "nodeType": "YulLiteral",
                        "src": "42743:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42732:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42732:3:136"
                    },
                    "nativeSrc": "42732:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42732:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "42725:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42725:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "42616:135:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "42645:5:136",
                "nodeType": "YulTypedName",
                "src": "42645:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "42655:3:136",
                "nodeType": "YulTypedName",
                "src": "42655:3:136",
                "type": ""
              }
            ],
            "src": "42616:135:136"
          },
          {
            "body": {
              "nativeSrc": "42805:79:136",
              "nodeType": "YulBlock",
              "src": "42805:79:136",
              "statements": [
                {
                  "nativeSrc": "42815:17:136",
                  "nodeType": "YulAssignment",
                  "src": "42815:17:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "42827:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "42827:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "42830:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "42830:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "42823:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42823:3:136"
                    },
                    "nativeSrc": "42823:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42823:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "42815:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "42815:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42856:22:136",
                    "nodeType": "YulBlock",
                    "src": "42856:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "42858:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "42858:16:136"
                          },
                          "nativeSrc": "42858:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42858:18:136"
                        },
                        "nativeSrc": "42858:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42858:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "42847:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "42847:4:136"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "42853:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "42853:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42844:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "42844:2:136"
                    },
                    "nativeSrc": "42844:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42844:11:136"
                  },
                  "nativeSrc": "42841:37:136",
                  "nodeType": "YulIf",
                  "src": "42841:37:136"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "42756:128:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "42787:1:136",
                "nodeType": "YulTypedName",
                "src": "42787:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "42790:1:136",
                "nodeType": "YulTypedName",
                "src": "42790:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "42796:4:136",
                "nodeType": "YulTypedName",
                "src": "42796:4:136",
                "type": ""
              }
            ],
            "src": "42756:128:136"
          },
          {
            "body": {
              "nativeSrc": "42941:116:136",
              "nodeType": "YulBlock",
              "src": "42941:116:136",
              "statements": [
                {
                  "nativeSrc": "42951:20:136",
                  "nodeType": "YulAssignment",
                  "src": "42951:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "42966:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "42966:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "42969:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "42969:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "42962:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "42962:3:136"
                    },
                    "nativeSrc": "42962:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42962:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "42951:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "42951:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43029:22:136",
                    "nodeType": "YulBlock",
                    "src": "43029:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "43031:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "43031:16:136"
                          },
                          "nativeSrc": "43031:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43031:18:136"
                        },
                        "nativeSrc": "43031:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "43031:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "43000:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "43000:1:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "42993:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "42993:6:136"
                            },
                            "nativeSrc": "42993:9:136",
                            "nodeType": "YulFunctionCall",
                            "src": "42993:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "43007:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "43007:1:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "43014:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43014:7:136"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "43023:1:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43023:1:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "43010:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43010:3:136"
                                },
                                "nativeSrc": "43010:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43010:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "43004:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "43004:2:136"
                            },
                            "nativeSrc": "43004:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43004:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "42990:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "42990:2:136"
                        },
                        "nativeSrc": "42990:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42990:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "42983:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42983:6:136"
                    },
                    "nativeSrc": "42983:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42983:45:136"
                  },
                  "nativeSrc": "42980:71:136",
                  "nodeType": "YulIf",
                  "src": "42980:71:136"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "42889:168:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "42920:1:136",
                "nodeType": "YulTypedName",
                "src": "42920:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "42923:1:136",
                "nodeType": "YulTypedName",
                "src": "42923:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "42929:7:136",
                "nodeType": "YulTypedName",
                "src": "42929:7:136",
                "type": ""
              }
            ],
            "src": "42889:168:136"
          },
          {
            "body": {
              "nativeSrc": "43131:306:136",
              "nodeType": "YulBlock",
              "src": "43131:306:136",
              "statements": [
                {
                  "nativeSrc": "43141:10:136",
                  "nodeType": "YulAssignment",
                  "src": "43141:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43150:1:136",
                    "nodeType": "YulLiteral",
                    "src": "43150:1:136",
                    "type": "",
                    "value": "1"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "43141:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43141:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "43160:13:136",
                  "nodeType": "YulAssignment",
                  "src": "43160:13:136",
                  "value": {
                    "name": "_base",
                    "nativeSrc": "43168:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "43168:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "base",
                      "nativeSrc": "43160:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "43160:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43218:213:136",
                    "nodeType": "YulBlock",
                    "src": "43218:213:136",
                    "statements": [
                      {
                        "body": {
                          "nativeSrc": "43260:22:136",
                          "nodeType": "YulBlock",
                          "src": "43260:22:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [],
                                "functionName": {
                                  "name": "panic_error_0x11",
                                  "nativeSrc": "43262:16:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43262:16:136"
                                },
                                "nativeSrc": "43262:18:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43262:18:136"
                              },
                              "nativeSrc": "43262:18:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "43262:18:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "43238:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "43238:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "max",
                                  "nativeSrc": "43248:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43248:3:136"
                                },
                                {
                                  "name": "base",
                                  "nativeSrc": "43253:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43253:4:136"
                                }
                              ],
                              "functionName": {
                                "name": "div",
                                "nativeSrc": "43244:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "43244:3:136"
                              },
                              "nativeSrc": "43244:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "43244:14:136"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "43235:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "43235:2:136"
                          },
                          "nativeSrc": "43235:24:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43235:24:136"
                        },
                        "nativeSrc": "43232:50:136",
                        "nodeType": "YulIf",
                        "src": "43232:50:136"
                      },
                      {
                        "body": {
                          "nativeSrc": "43315:29:136",
                          "nodeType": "YulBlock",
                          "src": "43315:29:136",
                          "statements": [
                            {
                              "nativeSrc": "43317:25:136",
                              "nodeType": "YulAssignment",
                              "src": "43317:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "power",
                                    "nativeSrc": "43330:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43330:5:136"
                                  },
                                  {
                                    "name": "base",
                                    "nativeSrc": "43337:4:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43337:4:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mul",
                                  "nativeSrc": "43326:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43326:3:136"
                                },
                                "nativeSrc": "43326:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43326:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "power",
                                  "nativeSrc": "43317:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43317:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "exponent",
                              "nativeSrc": "43302:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "43302:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "43312:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43312:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "43298:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "43298:3:136"
                          },
                          "nativeSrc": "43298:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43298:16:136"
                        },
                        "nativeSrc": "43295:49:136",
                        "nodeType": "YulIf",
                        "src": "43295:49:136"
                      },
                      {
                        "nativeSrc": "43357:23:136",
                        "nodeType": "YulAssignment",
                        "src": "43357:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "43369:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "43369:4:136"
                            },
                            {
                              "name": "base",
                              "nativeSrc": "43375:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "43375:4:136"
                            }
                          ],
                          "functionName": {
                            "name": "mul",
                            "nativeSrc": "43365:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "43365:3:136"
                          },
                          "nativeSrc": "43365:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43365:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "base",
                            "nativeSrc": "43357:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "43357:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "43393:28:136",
                        "nodeType": "YulAssignment",
                        "src": "43393:28:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "43409:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43409:1:136",
                              "type": "",
                              "value": "1"
                            },
                            {
                              "name": "exponent",
                              "nativeSrc": "43412:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "43412:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "43405:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "43405:3:136"
                          },
                          "nativeSrc": "43405:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "43405:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "exponent",
                            "nativeSrc": "43393:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "43393:8:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "exponent",
                        "nativeSrc": "43193:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "43193:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43203:1:136",
                        "nodeType": "YulLiteral",
                        "src": "43203:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "43190:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "43190:2:136"
                    },
                    "nativeSrc": "43190:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43190:15:136"
                  },
                  "nativeSrc": "43182:249:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "43206:3:136",
                    "nodeType": "YulBlock",
                    "src": "43206:3:136",
                    "statements": []
                  },
                  "pre": {
                    "nativeSrc": "43186:3:136",
                    "nodeType": "YulBlock",
                    "src": "43186:3:136",
                    "statements": []
                  },
                  "src": "43182:249:136"
                }
              ]
            },
            "name": "checked_exp_helper",
            "nativeSrc": "43062:375:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "_base",
                "nativeSrc": "43090:5:136",
                "nodeType": "YulTypedName",
                "src": "43090:5:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "43097:8:136",
                "nodeType": "YulTypedName",
                "src": "43097:8:136",
                "type": ""
              },
              {
                "name": "max",
                "nativeSrc": "43107:3:136",
                "nodeType": "YulTypedName",
                "src": "43107:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "43115:5:136",
                "nodeType": "YulTypedName",
                "src": "43115:5:136",
                "type": ""
              },
              {
                "name": "base",
                "nativeSrc": "43122:4:136",
                "nodeType": "YulTypedName",
                "src": "43122:4:136",
                "type": ""
              }
            ],
            "src": "43062:375:136"
          },
          {
            "body": {
              "nativeSrc": "43501:843:136",
              "nodeType": "YulBlock",
              "src": "43501:843:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "43539:52:136",
                    "nodeType": "YulBlock",
                    "src": "43539:52:136",
                    "statements": [
                      {
                        "nativeSrc": "43553:10:136",
                        "nodeType": "YulAssignment",
                        "src": "43553:10:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "43562:1:136",
                          "nodeType": "YulLiteral",
                          "src": "43562:1:136",
                          "type": "",
                          "value": "1"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "43553:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "43553:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "43576:5:136",
                        "nodeType": "YulLeave",
                        "src": "43576:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "exponent",
                        "nativeSrc": "43521:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "43521:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43514:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43514:6:136"
                    },
                    "nativeSrc": "43514:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43514:16:136"
                  },
                  "nativeSrc": "43511:80:136",
                  "nodeType": "YulIf",
                  "src": "43511:80:136"
                },
                {
                  "body": {
                    "nativeSrc": "43624:52:136",
                    "nodeType": "YulBlock",
                    "src": "43624:52:136",
                    "statements": [
                      {
                        "nativeSrc": "43638:10:136",
                        "nodeType": "YulAssignment",
                        "src": "43638:10:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "43647:1:136",
                          "nodeType": "YulLiteral",
                          "src": "43647:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "43638:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "43638:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "43661:5:136",
                        "nodeType": "YulLeave",
                        "src": "43661:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "43610:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43610:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "43603:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43603:6:136"
                    },
                    "nativeSrc": "43603:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43603:12:136"
                  },
                  "nativeSrc": "43600:76:136",
                  "nodeType": "YulIf",
                  "src": "43600:76:136"
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "43712:52:136",
                        "nodeType": "YulBlock",
                        "src": "43712:52:136",
                        "statements": [
                          {
                            "nativeSrc": "43726:10:136",
                            "nodeType": "YulAssignment",
                            "src": "43726:10:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43735:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43735:1:136",
                              "type": "",
                              "value": "1"
                            },
                            "variableNames": [
                              {
                                "name": "power",
                                "nativeSrc": "43726:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "43726:5:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "43749:5:136",
                            "nodeType": "YulLeave",
                            "src": "43749:5:136"
                          }
                        ]
                      },
                      "nativeSrc": "43705:59:136",
                      "nodeType": "YulCase",
                      "src": "43705:59:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "43710:1:136",
                        "nodeType": "YulLiteral",
                        "src": "43710:1:136",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "43780:167:136",
                        "nodeType": "YulBlock",
                        "src": "43780:167:136",
                        "statements": [
                          {
                            "body": {
                              "nativeSrc": "43815:22:136",
                              "nodeType": "YulBlock",
                              "src": "43815:22:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "panic_error_0x11",
                                      "nativeSrc": "43817:16:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "43817:16:136"
                                    },
                                    "nativeSrc": "43817:18:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43817:18:136"
                                  },
                                  "nativeSrc": "43817:18:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "43817:18:136"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "exponent",
                                  "nativeSrc": "43800:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43800:8:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "43810:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "43810:3:136",
                                  "type": "",
                                  "value": "255"
                                }
                              ],
                              "functionName": {
                                "name": "gt",
                                "nativeSrc": "43797:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "43797:2:136"
                              },
                              "nativeSrc": "43797:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "43797:17:136"
                            },
                            "nativeSrc": "43794:43:136",
                            "nodeType": "YulIf",
                            "src": "43794:43:136"
                          },
                          {
                            "nativeSrc": "43850:25:136",
                            "nodeType": "YulAssignment",
                            "src": "43850:25:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "exponent",
                                  "nativeSrc": "43863:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43863:8:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "43873:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "43873:1:136",
                                  "type": "",
                                  "value": "1"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "43859:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "43859:3:136"
                              },
                              "nativeSrc": "43859:16:136",
                              "nodeType": "YulFunctionCall",
                              "src": "43859:16:136"
                            },
                            "variableNames": [
                              {
                                "name": "power",
                                "nativeSrc": "43850:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "43850:5:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "43888:11:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "43888:11:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43898:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43898:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "_1",
                                "nativeSrc": "43892:2:136",
                                "nodeType": "YulTypedName",
                                "src": "43892:2:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "43912:7:136",
                            "nodeType": "YulAssignment",
                            "src": "43912:7:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43918:1:136",
                              "nodeType": "YulLiteral",
                              "src": "43918:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variableNames": [
                              {
                                "name": "_1",
                                "nativeSrc": "43912:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "43912:2:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "43932:5:136",
                            "nodeType": "YulLeave",
                            "src": "43932:5:136"
                          }
                        ]
                      },
                      "nativeSrc": "43773:174:136",
                      "nodeType": "YulCase",
                      "src": "43773:174:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "43778:1:136",
                        "nodeType": "YulLiteral",
                        "src": "43778:1:136",
                        "type": "",
                        "value": "2"
                      }
                    }
                  ],
                  "expression": {
                    "name": "base",
                    "nativeSrc": "43692:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "43692:4:136"
                  },
                  "nativeSrc": "43685:262:136",
                  "nodeType": "YulSwitch",
                  "src": "43685:262:136"
                },
                {
                  "body": {
                    "nativeSrc": "44045:114:136",
                    "nodeType": "YulBlock",
                    "src": "44045:114:136",
                    "statements": [
                      {
                        "nativeSrc": "44059:28:136",
                        "nodeType": "YulAssignment",
                        "src": "44059:28:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "44072:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "44072:4:136"
                            },
                            {
                              "name": "exponent",
                              "nativeSrc": "44078:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "44078:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "exp",
                            "nativeSrc": "44068:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "44068:3:136"
                          },
                          "nativeSrc": "44068:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44068:19:136"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "44059:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "44059:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "44100:11:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "44100:11:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "44110:1:136",
                          "nodeType": "YulLiteral",
                          "src": "44110:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "44104:2:136",
                            "nodeType": "YulTypedName",
                            "src": "44104:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "44124:7:136",
                        "nodeType": "YulAssignment",
                        "src": "44124:7:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "44130:1:136",
                          "nodeType": "YulLiteral",
                          "src": "44130:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variableNames": [
                          {
                            "name": "_2",
                            "nativeSrc": "44124:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "44124:2:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "44144:5:136",
                        "nodeType": "YulLeave",
                        "src": "44144:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "base",
                                "nativeSrc": "43969:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "43969:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43975:2:136",
                                "nodeType": "YulLiteral",
                                "src": "43975:2:136",
                                "type": "",
                                "value": "11"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "43966:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "43966:2:136"
                            },
                            "nativeSrc": "43966:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43966:12:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "exponent",
                                "nativeSrc": "43983:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "43983:8:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43993:2:136",
                                "nodeType": "YulLiteral",
                                "src": "43993:2:136",
                                "type": "",
                                "value": "78"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "43980:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "43980:2:136"
                            },
                            "nativeSrc": "43980:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43980:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43962:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43962:3:136"
                        },
                        "nativeSrc": "43962:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43962:35:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "base",
                                "nativeSrc": "44006:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "44006:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44012:3:136",
                                "nodeType": "YulLiteral",
                                "src": "44012:3:136",
                                "type": "",
                                "value": "307"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "44003:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "44003:2:136"
                            },
                            "nativeSrc": "44003:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44003:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "exponent",
                                "nativeSrc": "44021:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "44021:8:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44031:2:136",
                                "nodeType": "YulLiteral",
                                "src": "44031:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "44018:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "44018:2:136"
                            },
                            "nativeSrc": "44018:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44018:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43999:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "43999:3:136"
                        },
                        "nativeSrc": "43999:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43999:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "43959:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "43959:2:136"
                    },
                    "nativeSrc": "43959:77:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43959:77:136"
                  },
                  "nativeSrc": "43956:203:136",
                  "nodeType": "YulIf",
                  "src": "43956:203:136"
                },
                {
                  "nativeSrc": "44168:65:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44168:65:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "44210:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44210:4:136"
                      },
                      {
                        "name": "exponent",
                        "nativeSrc": "44216:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "44216:8:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "44230:1:136",
                            "nodeType": "YulLiteral",
                            "src": "44230:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "44226:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44226:3:136"
                        },
                        "nativeSrc": "44226:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44226:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "checked_exp_helper",
                      "nativeSrc": "44191:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "44191:18:136"
                    },
                    "nativeSrc": "44191:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44191:42:136"
                  },
                  "variables": [
                    {
                      "name": "power_1",
                      "nativeSrc": "44172:7:136",
                      "nodeType": "YulTypedName",
                      "src": "44172:7:136",
                      "type": ""
                    },
                    {
                      "name": "base_1",
                      "nativeSrc": "44181:6:136",
                      "nodeType": "YulTypedName",
                      "src": "44181:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44278:22:136",
                    "nodeType": "YulBlock",
                    "src": "44278:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44280:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "44280:16:136"
                          },
                          "nativeSrc": "44280:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "44280:18:136"
                        },
                        "nativeSrc": "44280:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "44280:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "power_1",
                        "nativeSrc": "44248:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44248:7:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "44265:1:136",
                                "nodeType": "YulLiteral",
                                "src": "44265:1:136",
                                "type": "",
                                "value": "0"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "44261:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44261:3:136"
                            },
                            "nativeSrc": "44261:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44261:6:136"
                          },
                          {
                            "name": "base_1",
                            "nativeSrc": "44269:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "44269:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "div",
                          "nativeSrc": "44257:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44257:3:136"
                        },
                        "nativeSrc": "44257:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44257:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44245:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "44245:2:136"
                    },
                    "nativeSrc": "44245:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44245:32:136"
                  },
                  "nativeSrc": "44242:58:136",
                  "nodeType": "YulIf",
                  "src": "44242:58:136"
                },
                {
                  "nativeSrc": "44309:29:136",
                  "nodeType": "YulAssignment",
                  "src": "44309:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "power_1",
                        "nativeSrc": "44322:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44322:7:136"
                      },
                      {
                        "name": "base_1",
                        "nativeSrc": "44331:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "44331:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "44318:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44318:3:136"
                    },
                    "nativeSrc": "44318:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44318:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "44309:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44309:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_exp_unsigned",
            "nativeSrc": "43442:902:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base",
                "nativeSrc": "43472:4:136",
                "nodeType": "YulTypedName",
                "src": "43472:4:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "43478:8:136",
                "nodeType": "YulTypedName",
                "src": "43478:8:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "43491:5:136",
                "nodeType": "YulTypedName",
                "src": "43491:5:136",
                "type": ""
              }
            ],
            "src": "43442:902:136"
          },
          {
            "body": {
              "nativeSrc": "44419:61:136",
              "nodeType": "YulBlock",
              "src": "44419:61:136",
              "statements": [
                {
                  "nativeSrc": "44429:45:136",
                  "nodeType": "YulAssignment",
                  "src": "44429:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "44459:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44459:4:136"
                      },
                      {
                        "name": "exponent",
                        "nativeSrc": "44465:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "44465:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "checked_exp_unsigned",
                      "nativeSrc": "44438:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "44438:20:136"
                    },
                    "nativeSrc": "44438:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44438:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "44429:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44429:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_exp_t_uint256_t_uint256",
            "nativeSrc": "44349:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base",
                "nativeSrc": "44390:4:136",
                "nodeType": "YulTypedName",
                "src": "44390:4:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "44396:8:136",
                "nodeType": "YulTypedName",
                "src": "44396:8:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "44409:5:136",
                "nodeType": "YulTypedName",
                "src": "44409:5:136",
                "type": ""
              }
            ],
            "src": "44349:131:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_stringliteral_ecda1eb336220fc8a9b6c69d764b8872b0f5ce6949b5b718b3e7bf6d52b1de44_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, \"WitnetUpgradableBase: not implem\")\n        mstore(add(pos, 32), \"ented: 0x\")\n        end := abi_encode_string(value3, abi_encode_string(value2, abi_encode_string(value1, abi_encode_string(value0, add(pos, 41)))))\n    }\n    function abi_encode_string_memory_ptr(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_array_string_dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let tail := add(add(pos_1, shl(5, length)), 0x20)\n        let srcPtr := add(value, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            tail := abi_encode_string_memory_ptr(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, 0x20)\n            pos := add(pos, 0x20)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 96)\n        mstore(headStart, 96)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 128)\n        let srcPtr := add(value0, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), shl(224, 0xffffffff)))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n        mstore(add(headStart, 0x20), sub(pos, headStart))\n        let tail_2 := abi_encode_array_string_dyn(value1, pos)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos_1 := tail_2\n        let length_1 := mload(value2)\n        mstore(tail_2, length_1)\n        pos_1 := add(tail_2, 0x20)\n        let srcPtr_1 := add(value2, 0x20)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, mload(srcPtr_1))\n            pos_1 := add(pos_1, 0x20)\n            srcPtr_1 := add(srcPtr_1, 0x20)\n        }\n        tail := pos_1\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_array_string_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_array_string_dyn(value1, add(headStart, 64))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_6007() -> memPtr\n    {\n        memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n    }\n    function allocate_memory_6011() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xe0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        array := allocate_memory(array_allocation_size_bytes(length))\n        mstore(array, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(array, 0x20), src, length)\n        mstore(add(add(array, length), 0x20), 0)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$28705_memory_ptr__to_t_struct$_ResultError_$28705_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), 0xff))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_string_memory_ptr(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_struct$_QueryRequest_$37351_memory_ptr__to_t_struct$_QueryRequest_$37351_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(mload(add(value0, 32)), 0xffffff))\n        let memberValue0 := mload(add(value0, 64))\n        mstore(add(headStart, 96), 0x80)\n        let tail_1 := abi_encode_string_memory_ptr(memberValue0, add(headStart, 160))\n        mstore(add(headStart, 0x80), mload(add(value0, 96)))\n        tail := tail_1\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_RadonSLAv1_$29141_memory_ptr__to_t_struct$_RadonSLAv1_$29141_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        mstore(headStart, and(mload(value0), 0xff))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x60), and(mload(add(value0, 0x60)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x80), and(mload(add(value0, 0x80)), 0xffffffffffffffff))\n    }\n    function abi_encode_tuple_t_contract$_IWitOracleRadonRegistry_$27394__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RadonRetrievalMethods(value, pos)\n    {\n        if iszero(lt(value, 5)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_enum_RadonDataTypes(value, pos)\n    {\n        if iszero(lt(value, 20)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_array_array_string_dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let tail := add(add(pos_1, shl(5, length)), 0x20)\n        let srcPtr := add(value, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let _1 := mload(srcPtr)\n            let pos_2 := tail\n            pos_2 := tail\n            let tail_1 := add(tail, 64)\n            let srcPtr_1 := _1\n            let i_1 := 0\n            for { } lt(i_1, 0x02) { i_1 := add(i_1, 1) }\n            {\n                mstore(pos_2, sub(tail_1, tail))\n                tail_1 := abi_encode_string_memory_ptr(mload(srcPtr_1), tail_1)\n                srcPtr_1 := add(srcPtr_1, 0x20)\n                pos_2 := add(pos_2, 0x20)\n            }\n            tail := tail_1\n            srcPtr := add(srcPtr, 0x20)\n            pos := add(pos, 0x20)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\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            let _1 := mload(srcPtr)\n            mstore(tail_2, and(mload(_1), 0xff))\n            let memberValue0 := mload(add(_1, 32))\n            abi_encode_enum_RadonRetrievalMethods(memberValue0, add(tail_2, 32))\n            let memberValue0_1 := mload(add(_1, 64))\n            abi_encode_enum_RadonDataTypes(memberValue0_1, add(tail_2, 64))\n            let memberValue0_2 := mload(add(_1, 0x60))\n            mstore(add(tail_2, 0x60), 0xe0)\n            let tail_3 := abi_encode_string_memory_ptr(memberValue0_2, add(tail_2, 0xe0))\n            let memberValue0_3 := mload(add(_1, 0x80))\n            mstore(add(tail_2, 0x80), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string_memory_ptr(memberValue0_3, tail_3)\n            let memberValue0_4 := mload(add(_1, 0xa0))\n            mstore(add(tail_2, 0xa0), sub(tail_4, tail_2))\n            let tail_5 := abi_encode_array_array_string_dyn(memberValue0_4, tail_4)\n            let memberValue0_5 := mload(add(_1, 0xc0))\n            mstore(add(tail_2, 0xc0), sub(tail_5, tail_2))\n            tail_2 := abi_encode_string_memory_ptr(memberValue0_5, tail_5)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := 0\n        value := calldataload(add(headStart, 32))\n        value2 := value\n    }\n    function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_struct_RadonSLAv2_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 64) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_bytes4t_struct$_RadonSLAv2_$29146_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n        value1 := abi_decode_struct_RadonSLAv2_calldata(add(headStart, 32), dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequest_$28922(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_contract$_IWitPriceFeeds_$27848__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_struct_Price(value, pos)\n    {\n        mstore(pos, and(mload(value), 0xffffffffffffffff))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        let memberValue0 := mload(add(value, 0x60))\n        if iszero(lt(memberValue0, 4)) { panic_error_0x21() }\n        mstore(add(pos, 0x60), memberValue0)\n    }\n    function abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        abi_encode_struct_Price(value0, headStart)\n    }\n    function abi_encode_tuple_t_struct$_QueryResponse_$37365_memory_ptr__to_t_struct$_QueryResponse_$37365_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(mload(add(value0, 32)), 0xffffffffffffffff))\n        mstore(add(headStart, 96), mload(add(value0, 64)))\n        let memberValue0 := mload(add(value0, 96))\n        mstore(add(headStart, 128), 0xa0)\n        let tail_1 := abi_encode_string_memory_ptr(memberValue0, add(headStart, 192))\n        mstore(add(headStart, 0xa0), and(mload(add(value0, 128)), sub(shl(160, 1), 1)))\n        tail := tail_1\n    }\n    function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffff))\n    }\n    function abi_encode_tuple_t_enum$_QueryResponseStatus_$28682__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 7)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_array$_t_bytes4_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\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 srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            abi_encode_struct_Price(mload(srcPtr), pos)\n            pos := add(pos, 0x80)\n            srcPtr := add(srcPtr, 32)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_struct$_RadonSLAv2_$29146_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonSLAv2_calldata(headStart, dataEnd)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_contract$_IWitOracleRequestTemplate_$29115t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xff), y_1)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function mod_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := mod(and(x, 0xff), y_1)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function array_allocation_size_array_struct_Info_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_int8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, signextend(0, value))) { revert(0, 0) }\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let src := add(offset, 0x20)\n        let array_1 := 0\n        array_1 := allocate_memory(array_allocation_size_bytes(length))\n        mstore(array_1, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        mcopy(add(array_1, 0x20), src, length)\n        mstore(add(add(array_1, length), 0x20), 0)\n        array := array_1\n    }\n    function validator_revert_enum_Mappers(value)\n    {\n        if iszero(lt(value, 5)) { revert(0, 0) }\n    }\n    function abi_decode_enum_Mappers_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_enum_Mappers(value)\n    }\n    function abi_decode_struct_Mapper_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0x40) { revert(0, 0) }\n        value := allocate_memory_6007()\n        let value_1 := mload(headStart)\n        validator_revert_enum_Mappers(value_1)\n        mstore(value, value_1)\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), end)) { revert(0, 0) }\n        let length := mload(_1)\n        let dst := allocate_memory(array_allocation_size_array_struct_Info_dyn(length))\n        let array := dst\n        mstore(dst, length)\n        dst := add(dst, 32)\n        let srcEnd := add(add(_1, shl(5, length)), 32)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(_1, 32)\n        for { } lt(src, srcEnd) { src := add(src, 32) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_1, innerOffset), 32), end))\n            dst := add(dst, 32)\n        }\n        mstore(add(value, 32), array)\n    }\n    function abi_decode_struct_Oracle_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0x60) { revert(0, 0) }\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x60)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        value := memPtr\n        let value_1 := mload(headStart)\n        if iszero(lt(value_1, 4)) { revert(0, 0) }\n        mstore(memPtr, value_1)\n        let value_2 := mload(add(headStart, 32))\n        validator_revert_address(value_2)\n        mstore(add(memPtr, 32), value_2)\n        let value_3 := 0\n        value_3 := mload(add(headStart, 64))\n        mstore(add(memPtr, 64), value_3)\n    }\n    function abi_decode_uint24_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_struct_UpdateConditions_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xc0) { revert(0, 0) }\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        value := memPtr\n        mstore(memPtr, abi_decode_uint24_fromMemory(headStart))\n        mstore(add(memPtr, 32), abi_decode_bool_fromMemory(add(headStart, 32)))\n        mstore(add(memPtr, 64), abi_decode_uint24_fromMemory(add(headStart, 64)))\n        mstore(add(memPtr, 96), abi_decode_uint24_fromMemory(add(headStart, 96)))\n        let value_1 := mload(add(headStart, 128))\n        validator_revert_uint16(value_1)\n        mstore(add(memPtr, 128), value_1)\n        let value_2 := mload(add(headStart, 160))\n        validator_revert_uint16(value_2)\n        mstore(add(memPtr, 160), value_2)\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_struct_Price_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xa0) { revert(0, 0) }\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xa0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        value := memPtr\n        mstore(memPtr, abi_decode_int8_fromMemory(headStart))\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := mload(add(headStart, 64))\n        if iszero(eq(value_2, signextend(6, value_2))) { revert(0, 0) }\n        mstore(add(memPtr, 64), value_2)\n        let value_3 := mload(add(headStart, 96))\n        validator_revert_uint64(value_3)\n        mstore(add(memPtr, 96), value_3)\n        let value_4 := 0\n        value_4 := mload(add(headStart, 128))\n        mstore(add(memPtr, 128), value_4)\n    }\n    function abi_decode_struct_Info_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0x0240) { revert(0, 0) }\n        value := allocate_memory_6011()\n        let value_1 := 0\n        value_1 := mload(headStart)\n        mstore(value, value_1)\n        mstore(add(value, 32), abi_decode_int8_fromMemory(add(headStart, 32)))\n        let offset := mload(add(headStart, 64))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(value, 64), abi_decode_string_fromMemory(add(headStart, offset), end))\n        let offset_1 := mload(add(headStart, 96))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_struct_Mapper_fromMemory(add(headStart, offset_1), end))\n        mstore(add(value, 128), abi_decode_struct_Oracle_fromMemory(add(headStart, 128), end))\n        mstore(add(value, 0xa0), abi_decode_struct_UpdateConditions_fromMemory(add(headStart, 0xe0), end))\n        mstore(add(value, 0xc0), abi_decode_struct_Price_fromMemory(add(headStart, 416), end))\n    }\n    function abi_decode_tuple_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := mload(_1)\n        let dst := allocate_memory(array_allocation_size_array_struct_Info_dyn(length))\n        let array := dst\n        mstore(dst, length)\n        dst := add(dst, 32)\n        let srcEnd := add(add(_1, shl(5, length)), 32)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_1, 32)\n        for { } lt(src, srcEnd) { src := add(src, 32) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(dst, abi_decode_struct_Info_fromMemory(add(add(_1, innerOffset), 32), dataEnd))\n            dst := add(dst, 32)\n        }\n        value0 := array\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_struct$_Info_$28125_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_struct_Info_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"not the owner\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"already initialized codehash\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\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        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_int8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_int8_fromMemory(headStart)\n    }\n    function negate_t_int8(value) -> ret\n    {\n        let value_1 := signextend(0, value)\n        if eq(value_1, not(127)) { panic_error_0x11() }\n        ret := sub(0, value_1)\n    }\n    function abi_decode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := abi_decode_struct_UpdateConditions_fromMemory(headStart, dataEnd)\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let product_raw := mul(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        product := and(product_raw, 0xffffffffffffffff)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffffffffffff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xffffffffffffffff), y_1)\n    }\n    function abi_decode_uint8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_enum_RadonDataTypes_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 20)) { revert(0, 0) }\n    }\n    function abi_decode_array_array_string_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let dst := allocate_memory(array_allocation_size_array_struct_Info_dyn(length))\n        let array_1 := dst\n        mstore(dst, length)\n        dst := add(dst, 0x20)\n        let srcEnd := add(add(offset, shl(5, length)), 0x20)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, 0x20)\n        for { } lt(src, srcEnd) { src := add(src, 0x20) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            let _1 := add(offset, innerOffset)\n            if iszero(slt(add(_1, 63), end)) { revert(0, 0) }\n            let dst_1 := allocate_memory_6007()\n            let array_2 := dst_1\n            let srcEnd_1 := add(_1, 96)\n            if gt(srcEnd_1, end) { revert(0, 0) }\n            let src_1 := add(_1, 0x20)\n            for { } lt(src_1, srcEnd_1) { src_1 := add(src_1, 0x20) }\n            {\n                let innerOffset_1 := mload(src_1)\n                if gt(innerOffset_1, 0xffffffffffffffff) { revert(0, 0) }\n                mstore(dst_1, abi_decode_string_fromMemory(add(add(_1, innerOffset_1), 0x20), end))\n                dst_1 := add(dst_1, 0x20)\n            }\n            mstore(dst, array_2)\n            dst := add(dst, 0x20)\n        }\n        array := array_1\n    }\n    function abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := mload(_1)\n        let dst := allocate_memory(array_allocation_size_array_struct_Info_dyn(length))\n        let array := dst\n        mstore(dst, length)\n        dst := add(dst, 32)\n        let srcEnd := add(add(_1, shl(5, length)), 32)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_1, 32)\n        for { } lt(src, srcEnd) { src := add(src, 32) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, 0xffffffffffffffff) { revert(0, 0) }\n            let _2 := add(_1, innerOffset)\n            if slt(add(sub(dataEnd, _2), not(31)), 0xe0) { revert(0, 0) }\n            let value := allocate_memory_6011()\n            mstore(value, abi_decode_uint8_fromMemory(add(_2, 32)))\n            mstore(add(value, 32), abi_decode_enum_Mappers_fromMemory(add(_2, 64)))\n            mstore(add(value, 64), abi_decode_enum_RadonDataTypes_fromMemory(add(_2, 96)))\n            let offset_1 := mload(add(_2, 128))\n            if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 96), abi_decode_string_fromMemory(add(add(_2, offset_1), 32), dataEnd))\n            let offset_2 := mload(add(_2, 160))\n            if gt(offset_2, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 128), abi_decode_string_fromMemory(add(add(_2, offset_2), 32), dataEnd))\n            let offset_3 := mload(add(_2, 192))\n            if gt(offset_3, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 160), abi_decode_array_array_string_dyn_fromMemory(add(add(_2, offset_3), 32), dataEnd))\n            let offset_4 := mload(add(_2, 0xe0))\n            if gt(offset_4, 0xffffffffffffffff) { revert(0, 0) }\n            mstore(add(value, 192), abi_decode_string_fromMemory(add(add(_2, offset_4), 32), dataEnd))\n            mstore(dst, value)\n            dst := add(dst, 32)\n        }\n        value0 := array\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_struct$_Price_$28105_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_struct_Price_fromMemory(headStart, dataEnd)\n    }\n    function abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), value1)\n        calldatacopy(add(headStart, 64), value0, value1)\n        mstore(add(add(headStart, value1), 64), 0)\n        tail := add(add(headStart, and(add(value1, 31), not(31))), 64)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_packed_t_stringliteral_fccea4c12d08fbc4c133f06510dceb96e5d8735022a4075b96fdd082352870f7_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"bypassed to \")\n        end := abi_encode_string(value0, add(pos, 12))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        end := abi_encode_string(value1, abi_encode_string(value0, pos))\n    }\n    function abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"Ownable2Step: caller is not the \")\n        mstore(add(headStart, 96), \"new owner\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent, max) -> power, base\n    {\n        power := 1\n        base := _base\n        for { } gt(exponent, 1) { }\n        {\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            let _1 := 0\n            _1 := 0\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            let _2 := 0\n            _2 := 0\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent, not(0))\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, exponent)\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "1032:15718:16:-:0;;;670:10:26;634:46;;1595:681:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;689:288:26;;;;;;;;;;;;;;;;;1798:11:16;;1824;;1798;1741:10;;1269:95:1;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;775:51:136;748:18;;1322:31:1;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:135;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;870:40:26::1;::::0;;;;937:32;;::::1;::::0;;::::1;::::0;921:48:::1;::::0;-1:-1:-1;1911:139:16::2;-1:-1:-1::0;;;;;1934:24:16;::::2;::::0;;::::2;::::0;:71:::2;;;2004:1;1979:10;-1:-1:-1::0;;;;;1979:22:16::2;;:26;1934:71;1911:139;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;1911:139:16::2;::::0;::::2;::::0;:8:::2;:139::i;:::-;-1:-1:-1::0;;;;;2061:38:16;::::2;;::::0;;;2188:43:::2;::::0;;-1:-1:-1;;;2188:43:16;;;;:41:::2;::::0;:43:::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;2061:38;2188:43:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2159:96:16::2;;:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2110:158:16::2;;::::0;-1:-1:-1;1032:15718:16;;-1:-1:-1;;1032:15718:16;1480:156:131;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;:::-;1480:156;:::o;15575:149:16:-;15662:10;15658:59;;;15689:16;15697:7;15689;:16::i;:::-;15575:149;;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;15732:179:16:-;1537:38;;;;;;;;;;;;;;;;;15883:7;15811:90;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;15811:90:16;;;;;;;;;;-1:-1:-1;;;15797:106:16;;;;;;;:::i;14:131:136:-;-1:-1:-1;;;;;89:31:136;;79:42;;69:70;;135:1;132;125:12;150:474;235:6;243;251;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;352:9;346:16;371:31;396:5;371:31;:::i;:::-;466:2;451:18;;445:25;515:2;500:18;;494:25;421:5;;-1:-1:-1;445:25:136;-1:-1:-1;557:15:136;;550:23;538:36;;528:64;;588:1;585;578:12;528:64;611:7;601:17;;;150:474;;;;;:::o;837:251::-;907:6;960:2;948:9;939:7;935:23;931:32;928:52;;;976:1;973;966:12;928:52;1008:9;1002:16;1027:31;1052:5;1027:31;:::i;:::-;1077:5;837:251;-1:-1:-1;;;837:251:136:o;1382:212::-;1424:3;1462:5;1456:12;1506:6;1499:4;1492:5;1488:16;1483:3;1477:36;1568:1;1532:16;;1557:13;;;-1:-1:-1;1532:16:136;;1382:212;-1:-1:-1;1382:212:136:o;1599:422::-;1879:3;1907:30;1933:3;1925:6;1907:30;:::i;:::-;-1:-1:-1;;;1953:2:136;1946:16;1978:37;2012:1;2008:2;2004:10;1996:6;1978:37;:::i;:::-;1971:44;1599:422;-1:-1:-1;;;;;1599:422:136:o;2026:418::-;2175:2;2164:9;2157:21;2138:4;2207:6;2201:13;2250:6;2245:2;2234:9;2230:18;2223:34;2309:6;2304:2;2296:6;2292:15;2287:2;2276:9;2272:18;2266:50;2365:1;2360:2;2351:6;2340:9;2336:22;2332:31;2325:42;2435:2;2428;2424:7;2419:2;2411:6;2407:15;2403:29;2392:9;2388:45;2384:54;2376:62;;;2026:418;;;;:::o;:::-;1032:15718:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "1032:15718:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1246:36:26;1272:7;;1259:22;;1246:12;:36::i;:::-;1297:41;1310:27;1323:7;;1310:27;;;1297:12;:41::i;:::-;1353:42;1366:28;1379:7;;1366:28;;;1353:12;:42::i;:::-;1410;1423:28;1436:7;;1423:28;;;1410:12;:42::i;:::-;1157:306;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1157:306:26;;;;;;;;;;-1:-1:-1;;;1143:322:26;;;;;;;:::i;:::-;;;;;;;;6498:116:16;;;;;;;;;;-1:-1:-1;6498:116:16;;;;;:::i;:::-;-1:-1:-1;6573:7:16;;6498:116;;;;1934:25:136;;;1922:2;1907:18;6498:116:16;;;;;;;;5160:1032;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;12159:119::-;;;;;;;;;;-1:-1:-1;12159:119:16;;;;;:::i;:::-;;:::i;:::-;;12835:436;;;;;;;;;;-1:-1:-1;12835:436:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8496:123::-;;;;;;:::i;:::-;;:::i;2495:862:26:-;;;;;;;;;;-1:-1:-1;2495:862:26;;;;;:::i;:::-;;:::i;10219:151:16:-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;8205:32:136;;;8187:51;;8175:2;8160:18;10219:151:16;8041:203:136;9875:159:16;;;;;;;;;;-1:-1:-1;9875:159:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7006:511::-;;;;;;;;;;-1:-1:-1;7006:511:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1477:85:135:-;;;;;;;;;;-1:-1:-1;1549:5:135;1477:85;;2016:47:26;;;;;;;;;;;;;;;1939:88:135;;;;;;;;;;-1:-1:-1;2008:11:135;1939:88;;;9267:14:136;;9260:22;9242:41;;9230:2;9215:18;1939:88:135;9102:187:136;3804:135:26;;;;;;;;;;;;;:::i;6874:124:16:-;;;;;;;;;;-1:-1:-1;6874:124:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12529:294::-;;;;;;;;;;-1:-1:-1;12529:294:16;;;;;:::i;:::-;;:::i;:::-;;;10083:4:136;10071:17;;;10053:36;;10041:2;10026:18;12529:294:16;9911:184:136;3916:305:16;;;;;;;;;;-1:-1:-1;3916:305:16;;;;;:::i;:::-;;:::i;8877:663::-;;;;;;;;;;;;;:::i;:::-;;;;;;10502:4:136;10544:3;10533:9;10529:19;10521:27;;10594:4;10585:6;10579:13;10575:24;10564:9;10557:43;10668:4;10660;10652:6;10648:17;10642:24;10638:35;10631:4;10620:9;10616:20;10609:65;-1:-1:-1;;;;;10734:4:136;10726:6;10722:17;10716:24;10712:49;10705:4;10694:9;10690:20;10683:79;-1:-1:-1;;;;;10822:4:136;10814:6;10810:17;10804:24;10800:49;10793:4;10782:9;10778:20;10771:79;-1:-1:-1;;;;;10910:4:136;10902:6;10898:17;10892:24;10888:49;10881:4;10870:9;10866:20;10859:79;10352:592;;;;;2293:101:1;;;;;;;;;;;;;:::i;10782:124:16:-;;;;;;;;;;;;;:::i;1254:49::-;;;;;;;;;;;;;;;7931:557;;;;;;;;;;-1:-1:-1;7931:557:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11783:101::-;;;;;;;;;;-1:-1:-1;11783:101:16;;;;;:::i;:::-;;:::i;11373:85::-;;;;;;;;;;-1:-1:-1;11373:85:16;;;;;:::i;:::-;;:::i;4582:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10632:138::-;;;;;;;;;;-1:-1:-1;10715:7:16;1710:6:1;-1:-1:-1;;;;;1710:6:1;10632:138:16;10219:151;7525:398;;;;;;;;;;-1:-1:-1;7525:398:16;;;;;:::i;:::-;;:::i;1668:176:135:-;;;;;;;;;;-1:-1:-1;1755:5:135;1808:18;1668:176;;10046:165:16;;;;;;:::i;:::-;;:::i;11892:111::-;;;;;;;;;;-1:-1:-1;11892:111:16;;;;;:::i;4689:134::-;;;;;;;;;;-1:-1:-1;4689:134:16;;;;;:::i;:::-;;:::i;11545:97::-;;;;;;;;;;-1:-1:-1;11545:97:16;;;;;:::i;:::-;;:::i;1466:117::-;;;;;;;;;;-1:-1:-1;1537:38:16;;;;;;;;;;;;;;;;;1466:117;;4475:99;;;;;;;;;;-1:-1:-1;4475:99:16;;;;;:::i;1206:41::-;;;;;;;;;;;;;;;13279:723;;;;;;;;;;-1:-1:-1;13279:723:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6204:139::-;;;;;;;;;;-1:-1:-1;6204:139:16;;;;;:::i;:::-;;:::i;6622:117::-;;;;;;;;;;-1:-1:-1;6622:117:16;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8496:123:16;6622:117;;;;;;;:::i;9548:149::-;;;;;;;;;;-1:-1:-1;9548:149:16;;;;;:::i;:::-;;:::i;634:46:26:-;;;;;;;;;;;;;;;6351:139:16;;;;;;;;;;;;;:::i;11466:71::-;;;;;;;;;;;;;:::i;11026:158::-;;;;;;;;;;;;;:::i;10914:102::-;;;;;;;;;;;;;:::i;:::-;;;19640:6:136;19628:19;;;19610:38;;19598:2;19583:18;10914:102:16;19466:188:136;4835:317:16;;;;;;;;;;-1:-1:-1;4835:317:16;;;;;:::i;:::-;;:::i;9705:162::-;;;;;;;;;;-1:-1:-1;9705:162:16;;;;;:::i;:::-;;;;;;;:::i;11196:169::-;;;;;;;;;;-1:-1:-1;11196:169:16;;;;;:::i;:::-;;:::i;14623:698::-;;;;;;;;;;-1:-1:-1;14623:698:16;;;;;:::i;:::-;;:::i;:::-;;;;20351:25:136;;;20407:2;20392:18;;20385:34;;;;20435:18;;;20428:34;20339:2;20324:18;14623:698:16;20151:317:136;14010:355:16;;;;;;;;;;-1:-1:-1;14010:355:16;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11650:121::-;;;;;;;;;;-1:-1:-1;11650:121:16;;;;;:::i;4193:398:26:-;4315:12;;;4325:1;4315:12;;;;;;;;;4266:13;;4297:15;;4315:12;;;;;;;;;;;-1:-1:-1;;4297:30:26;-1:-1:-1;4338:8:26;4355:7;4360:2;4355;:7;:::i;:::-;4349:19;;4366:2;4349:19;:::i;:::-;4338:30;-1:-1:-1;4379:8:26;4396:7;4401:2;4396;:7;:::i;:::-;4390:19;;4407:2;4390:19;:::i;:::-;4379:30;;4429:2;4424;:7;;;4420:33;;;4446:7;4452:1;4446:7;;:::i;:::-;;;4420:33;4473:2;4468;:7;;;4464:33;;;4490:7;4496:1;4490:7;;:::i;:::-;;;4464:33;4523:2;4516:10;;4508:2;4511:1;4508:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;4508:18:26;;;;;;;;;4552:2;4545:10;;4537:2;4540:1;4537:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;4537:18:26;;;;;;;;-1:-1:-1;4580:2:26;;4193:398;-1:-1:-1;;;;4193:398:26:o;5160:1032:16:-;5227:20;5249:25;5276;5319:33;5355:9;-1:-1:-1;;;;;5355:26:16;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5355:28:16;;;;;;;;;;;;:::i;:::-;5319:64;;5414:4;:11;-1:-1:-1;;;;;5401:25:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5401:25:16;;5394:32;;5462:4;:11;-1:-1:-1;;;;;5449:25:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5437:37;;5510:4;:11;-1:-1:-1;;;;;5496:26:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5496:26:16;;5485:37;;5538:8;5533:652;5554:4;:11;5548:3;:17;5533:652;;;5590:29;5678:4;5683:3;5678:9;;;;;;;;:::i;:::-;;;;;;;;;;;;:12;-1:-1:-1;;;;;;5722:23:16;;;5678:12;5722:23;;;-1:-1:-1;;;;;;;;;;;5722:23:16;;;;;;;;5678:12;;-1:-1:-1;5722:23:16;;:36;;:102;;-1:-1:-1;;;;;;5801:23:16;;:16;:23;;;-1:-1:-1;;;;;;;;;;;5801:23:16;;;;;;;;5722:102;;;5792:5;5722:102;5709:4;5714:3;5709:9;;;;;;;;:::i;:::-;;;;;;:116;-1:-1:-1;;;;;5709:116:16;;;;-1:-1:-1;;;;;5709:116:16;;;;;;5857:4;5862:3;5857:9;;;;;;;;:::i;:::-;;;;;;;:16;;;5840:9;5850:3;5840:14;;;;;;;;:::i;:::-;;;;;;;;;;:33;5918:32;5892:4;5897:3;5892:9;;;;;;;;:::i;:::-;;;;;;;:16;;;:22;;;:58;;;;;;;;:::i;:::-;;5888:286;;6024:1;6016:10;;5988:4;5993:3;5988:9;;;;;;;;:::i;:::-;;;;;;;:16;;;:24;;;:38;:151;;6114:4;6119:3;6114:9;;;;;;;;:::i;:::-;;;;;;;:16;;;:23;;;6106:32;;6098:41;;;5988:151;;;6050:4;6055:3;6050:9;;;;;;;;:::i;:::-;;;;;;;:16;;;:24;;;5988:151;5971:8;5980:3;5971:13;;;;;;;;:::i;:::-;;;;;;:187;;;;;5888:286;-1:-1:-1;5567:6:16;;5533:652;;;;5308:884;5160:1032;;;:::o;12159:119::-;12255:15;:13;:15::i;:::-;12159:119;;;;;:::o;12835:436::-;12918:22;12942:27;12987:32;13022:9;-1:-1:-1;;;;;13022:25:16;;13077:6;13022:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13022:63:16;;;;;;;;;;;;:::i;:::-;12987:98;-1:-1:-1;13122:32:16;13100:12;;;;:18;:54;;;;;;;;:::i;:::-;;13096:168;;13196:9;13171:35;;13235:5;:12;;;:17;;;13221:31;;13096:168;12976:295;12835:436;;;:::o;8496:123::-;8571:7;8596:15;:13;:15::i;:::-;8496:123;;;:::o;2495:862:26:-;2574:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;;2609:385:26;;2763:9;2752:39;;;;;;;;;;;;:::i;:::-;2730:61;-1:-1:-1;2730:61:26;-1:-1:-1;2806:26:26;2730:61;2806:18;:26::i;:::-;2609:385;;;2944:10;-1:-1:-1;;;;;2944:20:26;;;2936:46;;;;-1:-1:-1;;;2936:46:26;;32644:2:136;2936:46:26;;;32626:21:136;32683:2;32663:18;;;32656:30;-1:-1:-1;;;32702:18:136;;;32695:43;32755:18;;2936:46:26;32442:337:136;2936:46:26;3004:37;3031:9;3004:26;:37::i;:::-;3070:22;;:36;;;;:93;;-1:-1:-1;3127:22:26;;1755:5:135;1808:18;3127:36:26;3070:93;3052:188;;;3190:38;;-1:-1:-1;;;3190:38:26;;32986:2:136;3190:38:26;;;32968:21:136;33025:2;33005:18;;;32998:30;33064;33044:18;;;33037:58;33112:18;;3190:38:26;32784:352:136;3052:188:26;1755:5:135;1808:18;879:66:133;3250:22:26;;:35;1755:5:135;1808:18;1549:5;-1:-1:-1;;;;;3301:48:26;3310:7;10715::16;1710:6:1;-1:-1:-1;;;;;1710:6:1;;10219:151:16;3310:7:26;-1:-1:-1;;;;;3301:48:26;;3339:9;:7;:9::i;:::-;3301:48;;;;;;:::i;:::-;;;;;;;;2563:794;2495:862;:::o;10219:151:16:-;10279:7;10339:9;-1:-1:-1;;;;;10311:49:16;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10304:58;;10219:151;:::o;9875:159::-;-1:-1:-1;;;;;;;;;;;;;;;;;9958:35:16;10011:15;:13;:15::i;7006:511::-;7092:12;7122:32;7157:9;-1:-1:-1;;;;;7157:25:16;;7212:6;7157:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7157:63:16;;;;;;;;;;;;:::i;:::-;7122:98;-1:-1:-1;7257:34:16;7235:12;;;;:18;:56;;;;;;;;:::i;:::-;;7231:279;;7358:12;;;;:20;;;;;7401:45;;-1:-1:-1;;;7401:45:16;;;;;1934:25:136;;;7401:8:16;-1:-1:-1;;;;;7401:35:16;;;;1907:18:136;;7401:45:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7401:45:16;;;;;;;;;;;;:::i;:::-;7394:52;7006:511;-1:-1:-1;;;;7006:511:16:o;7231:279::-;7486:12;;;7496:1;7486:12;;;;;;;;;;;-1:-1:-1;7479:19:16;7006:511;-1:-1:-1;;;7006:511:16:o;7231:279::-;7111:406;7006:511;;;:::o;3804:135:26:-;3861:13;3894:37;3904:26;3894:9;:37::i;6874:124:16:-;6957:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12529:294:16;12610:5;12633:14;12650:9;-1:-1:-1;;;;;12650:33:16;;12713:6;12650:71;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12633:88;;12732:48;12754:1;12741:9;:14;;;;12732:48;;;;;;;;;;;;;-1:-1:-1;;;12732:48:16;;;:8;:48::i;:::-;12804:10;12805:9;12804:10;:::i;:::-;12791:24;12529:294;-1:-1:-1;;;12529:294:16:o;3916:305::-;3989:4;4006:14;4023:7;10715;1710:6:1;-1:-1:-1;;;;;1710:6:1;;10219:151:16;4023:7;4006:24;-1:-1:-1;2008:11:135;4152:50:16;;;;;4197:5;-1:-1:-1;;;;;4187:15:16;:6;-1:-1:-1;;;;;4187:15:16;;4041:172;3916:305;-1:-1:-1;;;3916:305:16:o;8877:663::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9003:50:16;9056:9;-1:-1:-1;;;;;9056:33:16;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9130:24;;;;;9230:302;;;;;;;;;;;;;;9343:2;9230:302;;;;9190:11;9230:302;;;;;;9003:88;;-1:-1:-1;9130:24:16;;9190:11;;9230:302;-1:-1:-1;9230:302:16;;;9423:30;;9190:11;9423:30;:::i;:::-;-1:-1:-1;;;;;9230:302:16;;;;;9490:30;;;;:14;:30;:::i;:::-;-1:-1:-1;;;;;9230:302:16;;;9223:309;8877:663;-1:-1:-1;;;;8877:663:16:o;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;10782:124:16:-;10868:30;:28;:30::i;7931:557::-;8019:36;8073:32;8108:9;-1:-1:-1;;;;;8108:25:16;;8163:6;8108:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8108:63:16;;;;;;;;;;;;:::i;:::-;8073:98;-1:-1:-1;8208:34:16;8186:12;;;;:18;:56;;;;;;;;:::i;:::-;;8182:299;;8309:12;;;;:20;;;;;8352:47;;-1:-1:-1;;;8352:47:16;;;;;1934:25:136;;;8352:8:16;-1:-1:-1;;;;;8352:37:16;;;;1907:18:136;;8352:47:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8352:47:16;;;;;;;;;;;;:::i;8182:299::-;8439:30;;;8467:1;8439:30;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8439:30:16;;;;;;;;;;;;;;;-1:-1:-1;8432:37:16;7931:557;-1:-1:-1;;;7931:557:16:o;11783:101::-;11861:15;:13;:15::i;:::-;11783:101;;;:::o;11373:85::-;11435:15;:13;:15::i;:::-;11373:85;;:::o;4582:99::-;4626:6;4652:9;-1:-1:-1;;;;;4652:19:16;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7525:398::-;7610:13;7641:32;7676:9;-1:-1:-1;;;;;7676:25:16;;7731:6;7676:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7676:63:16;;;;;;;;;;;;:::i;:::-;7641:98;-1:-1:-1;7776:34:16;7754:12;;;;:18;:56;;;;;;;;:::i;:::-;;7750:166;;7834:12;;;:20;;;;7525:398;-1:-1:-1;;7525:398:16:o;7750:166::-;-1:-1:-1;7902:1:16;;7525:398;-1:-1:-1;;7525:398:16:o;10046:165::-;10163:7;10188:15;:13;:15::i;:::-;10046:165;;;;:::o;4689:134::-;2990:25:62;;;;;;4749:6:16;;4775:40;2897:127:62;11545:97:16;11619:15;:13;:15::i;:::-;11545:97;:::o;13279:723::-;13354:39;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13354:39:16;-1:-1:-1;;;;;;13489:24:16;;;13411:29;13489:24;;;-1:-1:-1;;;;;;;;;;;13489:24:16;;;;;;13411:29;;13489:24;;;;;13458:69;:170;;13621:6;13458:170;;;-1:-1:-1;;;;;;13548:24:16;;;;;;-1:-1:-1;;;;;;;;;;;13548:24:16;;;;;;;;13458:170;13411:228;;13650:39;13692:9;-1:-1:-1;;;;;13692:24:16;;13717:5;13692:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13650:73;;13741:253;;;;;;;;13796:11;:17;;;-1:-1:-1;;;;;13741:253:16;;;;;13839:11;:21;;;-1:-1:-1;;;;;13741:253:16;;;;;13885:11;:17;;;13741:253;;;;13931:51;13741:253;;;;;;;;:::i;:::-;;;13734:260;13279:723;-1:-1:-1;;;;13279:723:16:o;6204:139::-;6301:34;;-1:-1:-1;;;6301:34:16;;6277:4;;-1:-1:-1;;;;;6301:9:16;:25;;;;:34;;6327:7;;;;6301:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9548:149::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9629:27:16;-1:-1:-1;6351:139:16;6415:7;6447:9;-1:-1:-1;;;;;6447:26:16;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6447:28:16;;;;;;;;;;;;:::i;:::-;:35;6440:42;;6351:139;:::o;11466:71::-;11514:15;:13;:15::i;11026:158::-;11117:7;11149:27;889:13:131;;-1:-1:-1;;;;;889:13:131;;809:101;10914:102:16;10974:6;10993:15;:13;:15::i;:::-;10914:102;:::o;4835:317::-;4963:70;;-1:-1:-1;;;4963:70:16;;4912:22;;-1:-1:-1;;;;;4963:9:16;:32;;;;:70;;5025:6;;4963:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4963:70:16;;;;;;;;;;;;:::i;:::-;4952:81;;5054:8;5048:22;5074:1;5048:27;5044:101;;-1:-1:-1;;;;;;5099:26:16;;;;;;:18;:26;;;;;5092:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4835:317;;;:::o;11196:169::-;1531:13:1;:11;:13::i;:::-;11321:36:16::1;11347:9;11321:25;:36::i;14623:698::-:0;14698:6;;;14762;14698;;-1:-1:-1;;;;;;;;;;;;;;;;;14858:23:16;;;;;;;:16;;;;;:23;;;;;;;;;14827:68;;:167;;14988:5;14827:167;;;-1:-1:-1;;;;;;14916:23:16;;;;;;-1:-1:-1;;;;;;;;;;;14916:23:16;;;;;;;;14827:167;14780:225;;15016:39;15058:9;-1:-1:-1;;;;;15058:24:16;;15083:5;15058:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15150:21;;;;15216:17;;;;15016:73;;-1:-1:-1;;;;;;15121:52:16;;15206:29;;15121:52;15275:15;;:27;;15299:3;15275:27;;;15293:3;15275:27;15184:129;;-1:-1:-1;15184:129:16;-1:-1:-1;15184:129:16;;;-1:-1:-1;;;;;14623:698:16;;;;;:::o;14010:355::-;14100:49;14216:7;-1:-1:-1;;;;;14177:54:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14177:54:16;;;;;;;;;;;;;;;;-1:-1:-1;14167:64:16;-1:-1:-1;14247:8:16;14242:116;14261:20;;;14242:116;;;14321:25;14333:7;;14341:3;14333:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;14321:25::-;14306:7;14314:3;14306:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;14283:6;;14242:116;;;;14010:355;;;;:::o;15919:274::-;15969:216;16121:9;-1:-1:-1;;;;;16093:45:16;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16093:47:16;;;;;;;;;;;;:::i;:::-;16016:143;;;;;;;;:::i;:::-;;;;;;;;;;;;;15969:7;:216::i;1480:156:131:-;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;2621:1208:16:-;2723:14;:21;2708:12;2755:1067;2776:7;2770:3;:13;2755:1067;;;2876:12;2847:24:62;2891:14:16;;2906:3;2891:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2952:10:16;2847:24:62;;10219:151:16;2952:10;-1:-1:-1;;;;;;2952:25:16;;;;;;:18;;;;;:25;;;;;2925:60;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3000:26;3029:20;:10;-1:-1:-1;;;;;;;;;;;;;;;;;3227:30:113;;;;;;;;3233:18;;3227:30;;3184:15;;;3227:30;;;;;;;;3049:216;3029:20:16;3093:11;;;;;;;;;;;-1:-1:-1;;;3093:11:16;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3227:30:113;;;;;;;;3233:18;;3227:30;;;;;3000:49:16;;-1:-1:-1;3227:30:113;3167:20:16;3000:49;3227:30:113;3167:12:16;:20::i;:::-;:24;;3190:1;3167:24;:::i;:::-;-1:-1:-1;;;;;3154:38:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3129:63:16;-1:-1:-1;3212:8:16;3207:128;3232:6;:13;3226:3;:19;3207:128;;;3288:31;:20;:6;3301;3288:12;:20::i;:::-;:29;:31::i;:::-;3274:6;3281:3;3274:11;;;;;;;;:::i;:::-;;;;;;;;;;:45;3247:6;;3207:128;;;-1:-1:-1;3349:36:16;;;;;;;;;;;;-1:-1:-1;;;3349:36:16;;;;3416:1;3400:206;3425:6;:13;3419:3;:19;3400:206;;;3526:10;3559:6;3566:3;3559:11;;;;;;;;:::i;:::-;;;;;;;3487:102;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3487:102:16;;;;;;;;;;-1:-1:-1;3440:6:16;;3400:206;;;-1:-1:-1;3688:28:16;;;;;;;-1:-1:-1;;;;;;3733:23:16;;;:16;:23;;;-1:-1:-1;;;;;;;;;;;3733:23:16;;;;;;:31;;;;;;-1:-1:-1;;3733:31:16;;;;;;;3779:23;;;;;;-1:-1:-1;;;;;;;;;;;3779:23:16;;;;;;;:31;;;;;;;;;;;;-1:-1:-1;;;;2785:6:16;;;;;-1:-1:-1;2755:1067:16;;4638:372:26;4716:13;4747:19;4779:25;4795:8;4779:15;:25::i;:::-;-1:-1:-1;;;;;4769:36:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4769:36:26;-1:-1:-1;4747:58:26;-1:-1:-1;4821:7:26;4816:155;4839:6;:13;4834:2;:18;4816:155;;;4883:8;4892:2;4883:12;;;;;;;:::i;:::-;;;;4870:6;4877:2;4870:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;4870:25:26;;;;;;;;-1:-1:-1;4939:5:26;;4816:155;;15575:149:16;15662:10;15658:59;;;15689:16;15697:7;15689;:16::i;1796:162:1:-;10715:7:16;1710:6:1;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;8187:51:136;8160:18;;1901:40:1;8041:203:136;1721:245:131;735:10:3;;1818:14:131;:12;:14::i;:::-;-1:-1:-1;;;;;1818:24:131;;1814:108;;1859:51;;-1:-1:-1;;;1859:51:131;;41981:2:136;1859:51:131;;;41963:21:136;42020:2;42000:18;;;41993:30;42059:34;42039:18;;;42032:62;-1:-1:-1;;;42110:18:136;;;42103:39;42159:19;;1859:51:131;41779:405:136;1814:108:131;1932:26;1951:6;1932:18;:26::i;2543:215:1:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:1;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:1;;2700:1:::1;2672:31;::::0;::::1;8187:51:136::0;8160:18;;2672:31:1::1;8041:203:136::0;15732:179:16;1537:38;;;;;;;;;;;;;;;;;15883:7;15811:90;;;;;;;;;:::i;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;23948:370:113:-;24026:8;24047;24116:6;:11;;;24058:55;24066:4;:9;;;24077:4;:9;;;24088:6;:11;;;24101:6;:11;;;24058:7;:55::i;:::-;:69;;;;:::i;:::-;24047:80;;24138:173;24164:9;;24152;;;;:21;;24164:9;24152:21;:::i;:::-;24145:3;:28;24138:173;;24190:5;;;;:::i;:::-;;;;24288:6;:11;;;24216:69;24243:4;:9;;;24237:3;:15;;;;:::i;:::-;24224:9;;:29;;;;:::i;:::-;24255:3;24260:6;:11;;;24273:6;:11;;;24216:7;:69::i;:::-;:83;;;;:::i;:::-;24210:89;;24138:173;;21916:143;-1:-1:-1;;;;;;;;;;;;;;;;;22025:26:113;22031:4;22037:6;22045:5;22025;:26::i;5502:273::-;5562:13;5588:17;5619:4;:9;;;-1:-1:-1;;;;;5608:21:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5608:21:113;;5588:41;;5640:11;5692:2;5687:3;5683:12;5673:22;;5709:37;5717:6;5725:4;:9;;;5736:4;:9;;;5709:7;:37::i;5082:307:26:-;5166:12;5196:186;5213:2;5203:7;:12;5196:186;;;5238:8;5247:7;5238:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;5238:22:26;5234:68;5281:5;5234:68;5345:10;;5196:186;;16038:1493:113;16137:4;16165:7;16137:4;16208:20;;;16204:1285;;16262:2;16249:9;:15;16245:1233;;16285:12;16320:13;;16316:112;;16405:1;16386:14;16391:9;16386:2;:14;:::i;:::-;16381:20;;:1;:20;:::i;:::-;16375:27;;:1;:27;:::i;:::-;:31;;;;:::i;:::-;16373:34;;-1:-1:-1;16316:112:113;16514:16;;16510:27;;16448:18;16590:9;16570:17;16580:7;16570;:17;:::i;:::-;:29;;;;:::i;:::-;16678:10;;16559:40;;-1:-1:-1;16674:21:113;;16717:233;16735:10;16724:7;:21;16717:233;;16781:3;16774;:10;16770:65;;16818:17;16828:7;16818;:17;:::i;:::-;16811:24;;;;;;;;;;16770:65;16858:5;;;;:::i;:::-;;;;16924:4;16918:3;16912:10;16908:21;16897:32;;16717:233;;;16975:3;16968:10;;;;;;;;;;16245:1233;-1:-1:-1;17119:31:113;;;17069:12;;17172:291;17193:19;17203:9;17193:7;:19;:::i;:::-;17186:3;:26;17172:291;;17306:25;;;17359:16;;;17355:57;;17409:3;17402:10;;;;;;;;17355:57;17435:8;17442:1;17435:8;;:::i;:::-;;;17221:242;17214:5;;;;;:::i;:::-;;;;17172:291;;;17000:478;16245:1233;17506:17;17516:7;17506;:17;:::i;:::-;17499:24;16038:1493;-1:-1:-1;;;;;;;16038:1493:113:o;20918:516::-;-1:-1:-1;;;;;;;;;;;;;;;;;21041:8:113;21052:55;21060:4;:9;;;21071:4;:9;;;21082:6;:11;;;21095:6;:11;;;21052:7;:55::i;:::-;21131:9;;;;;;21118:10;;;:22;;;;21170:9;21041:66;;-1:-1:-1;21164:15:113;;21041:66;21164:15;:::i;:::-;21151:28;;21213:9;;21201;;;;:21;;21213:9;21201:21;:::i;:::-;21194:3;:28;21190:214;;21277:1;21265:13;;21190:214;;;21337:11;;21324:10;;:24;;21337:11;21324:24;:::i;:::-;21311:37;;:4;;:37;;;;;:::i;:::-;;;-1:-1:-1;21381:11:113;;21375:17;;:3;:17;:::i;:::-;21363:9;;;:29;21190:214;-1:-1:-1;21421:5:113;;20918:516;-1:-1:-1;;;20918:516:113:o;2187:655::-;2327:2;2319:4;:10;2313:176;;2400:11;;2386:26;;2441:11;2450:2;2393:5;2441:11;:::i;:::-;;-1:-1:-1;2467:10:113;2475:2;2467:10;;:::i;:::-;;-1:-1:-1;2331:10:113;2339:2;2331:10;;:::i;:::-;;;2313:176;;;-1:-1:-1;;2576:8:113;;2572:71;;2630:1;2617:9;2622:4;2617:2;:9;:::i;:::-;2609:18;;:3;:18;:::i;:::-;:22;;;;:::i;:::-;2601:30;;2572:71;2696:11;;2754:12;;2750:24;;2709:10;;2692:28;2802:21;;;;2788:36;;;-1:-1:-1;2187:655:113:o;14:212:136:-;56:3;94:5;88:12;138:6;131:4;124:5;120:16;115:3;109:36;200:1;164:16;;189:13;;;-1:-1:-1;164:16:136;;14:212;-1:-1:-1;14:212:136:o;231:625::-;637:34;632:3;625:47;-1:-1:-1;;;697:2:136;692:3;688:12;681:33;607:3;730:120;756:93;782:66;808:39;843:2;838:3;834:12;826:6;808:39;:::i;:::-;800:6;782:66;:::i;:::-;774:6;756:93;:::i;:::-;748:6;730:120;:::i;:::-;723:127;231:625;-1:-1:-1;;;;;;231:625:136:o;861:300::-;914:3;952:5;946:12;979:6;974:3;967:19;1035:6;1028:4;1021:5;1017:16;1010:4;1005:3;1001:14;995:47;1087:1;1080:4;1071:6;1066:3;1062:16;1058:27;1051:38;1150:4;1143:2;1139:7;1134:2;1126:6;1122:15;1118:29;1113:3;1109:39;1105:50;1098:57;;;861:300;;;;:::o;1166:231::-;1315:2;1304:9;1297:21;1278:4;1335:56;1387:2;1376:9;1372:18;1364:6;1335:56;:::i;1402:131::-;-1:-1:-1;;;;;;1476:32:136;;1466:43;;1456:71;;1523:1;1520;1513:12;1538:245;1596:6;1649:2;1637:9;1628:7;1624:23;1620:32;1617:52;;;1665:1;1662;1655:12;1617:52;1704:9;1691:23;1723:30;1747:5;1723:30;:::i;1970:590::-;2022:3;2053;2085:5;2079:12;2112:6;2107:3;2100:19;2144:4;2139:3;2135:14;2128:21;;2202:4;2192:6;2189:1;2185:14;2178:5;2174:26;2170:37;2241:4;2234:5;2230:16;2264:1;2274:260;2288:6;2285:1;2282:13;2274:260;;;2375:2;2371:7;2363:5;2357:4;2353:16;2349:30;2344:3;2337:43;2401:49;2445:4;2436:6;2430:13;2401:49;:::i;:::-;2485:4;2510:14;;;;2393:57;;-1:-1:-1;2473:17:136;;;;;2310:1;2303:9;2274:260;;;-1:-1:-1;2550:4:136;;1970:590;-1:-1:-1;;;;;;1970:590:136:o;2565:1400::-;2929:2;2941:21;;;3011:13;;2914:18;;;3033:22;;;2881:4;;3125;3113:17;;;3086:3;3071:19;;;2881:4;3158:200;3172:6;3169:1;3166:13;3158:200;;;3237:13;;-1:-1:-1;;;;;;3233:40:136;3221:53;;3303:4;3331:17;;;;3294:14;;;;3194:1;3187:9;3158:200;;;3162:3;;3405:9;3400:3;3396:19;3389:4;3378:9;3374:20;3367:49;3439:40;3475:3;3467:6;3439:40;:::i;:::-;3515:22;;;3510:2;3495:18;;3488:50;3591:13;;3613:24;;;3667:4;3697:17;;;;-1:-1:-1;3655:17:136;;;;-1:-1:-1;3734:1:136;3744:193;3760:8;3755:3;3752:17;3744:193;;;3829:15;;3815:30;;3878:4;3908:19;;;;3867:16;;;;3788:1;3779:11;3744:193;;;-1:-1:-1;3954:5:136;;2565:1400;-1:-1:-1;;;;;;;2565:1400:136:o;3970:348::-;4022:8;4032:6;4086:3;4079:4;4071:6;4067:17;4063:27;4053:55;;4104:1;4101;4094:12;4053:55;-1:-1:-1;4127:20:136;;-1:-1:-1;;;;;4159:30:136;;4156:50;;;4202:1;4199;4192:12;4156:50;4239:4;4231:6;4227:17;4215:29;;4291:3;4284:4;4275:6;4267;4263:19;4259:30;4256:39;4253:59;;;4308:1;4305;4298:12;4253:59;3970:348;;;;;:::o;4323:131::-;-1:-1:-1;;;;;4398:31:136;;4388:42;;4378:70;;4444:1;4441;4434:12;4459:375;4530:8;4540:6;4594:3;4587:4;4579:6;4575:17;4571:27;4561:55;;4612:1;4609;4602:12;4561:55;-1:-1:-1;4635:20:136;;-1:-1:-1;;;;;4667:30:136;;4664:50;;;4710:1;4707;4700:12;4664:50;4747:4;4739:6;4735:17;4723:29;;4807:3;4800:4;4790:6;4787:1;4783:14;4775:6;4771:27;4767:38;4764:47;4761:67;;;4824:1;4821;4814:12;4839:897;4967:6;4975;4983;4991;4999;5052:2;5040:9;5031:7;5027:23;5023:32;5020:52;;;5068:1;5065;5058:12;5020:52;5108:9;5095:23;-1:-1:-1;;;;;5133:6:136;5130:30;5127:50;;;5173:1;5170;5163:12;5127:50;5212:59;5263:7;5254:6;5243:9;5239:22;5212:59;:::i;:::-;5290:8;;-1:-1:-1;5186:85:136;-1:-1:-1;;5375:2:136;5360:18;;5347:32;5388:31;5347:32;5388:31;:::i;:::-;5438:5;-1:-1:-1;5496:2:136;5481:18;;5468:32;-1:-1:-1;;;;;5512:32:136;;5509:52;;;5557:1;5554;5547:12;5509:52;5596:80;5668:7;5657:8;5646:9;5642:24;5596:80;:::i;:::-;4839:897;;;;-1:-1:-1;4839:897:136;;-1:-1:-1;5695:8:136;;5570:106;4839:897;-1:-1:-1;;;4839:897:136:o;5741:377::-;-1:-1:-1;;;;;5968:32:136;;5950:51;;6037:2;6032;6017:18;;6010:30;;;-1:-1:-1;;6057:55:136;;6093:18;;6085:6;6057:55;:::i;6123:127::-;6184:10;6179:3;6175:20;6172:1;6165:31;6215:4;6212:1;6205:15;6239:4;6236:1;6229:15;6255:257;6327:4;6321:11;;;6359:17;;-1:-1:-1;;;;;6391:34:136;;6427:22;;;6388:62;6385:88;;;6453:18;;:::i;:::-;6489:4;6482:24;6255:257;:::o;6517:253::-;6589:2;6583:9;6631:4;6619:17;;-1:-1:-1;;;;;6651:34:136;;6687:22;;;6648:62;6645:88;;;6713:18;;:::i;6775:275::-;6846:2;6840:9;6911:2;6892:13;;-1:-1:-1;;6888:27:136;6876:40;;-1:-1:-1;;;;;6931:34:136;;6967:22;;;6928:62;6925:88;;;6993:18;;:::i;:::-;7029:2;7022:22;6775:275;;-1:-1:-1;6775:275:136:o;7055:186::-;7103:4;-1:-1:-1;;;;;7128:6:136;7125:30;7122:56;;;7158:18;;:::i;:::-;-1:-1:-1;7224:2:136;7203:15;-1:-1:-1;;7199:29:136;7230:4;7195:40;;7055:186::o;7246:336::-;7310:5;7339:52;7355:35;7383:6;7355:35;:::i;:::-;7339:52;:::i;:::-;7330:61;;7414:6;7407:5;7400:21;7454:3;7445:6;7440:3;7436:16;7433:25;7430:45;;;7471:1;7468;7461:12;7430:45;7520:6;7515:3;7508:4;7501:5;7497:16;7484:43;7574:1;7567:4;7558:6;7551:5;7547:18;7543:29;7536:40;7246:336;;;;;:::o;7587:449::-;7655:6;7708:2;7696:9;7687:7;7683:23;7679:32;7676:52;;;7724:1;7721;7714:12;7676:52;7764:9;7751:23;-1:-1:-1;;;;;7789:6:136;7786:30;7783:50;;;7829:1;7826;7819:12;7783:50;7852:22;;7905:4;7897:13;;7893:27;-1:-1:-1;7883:55:136;;7934:1;7931;7924:12;7883:55;7957:73;8022:7;8017:2;8004:16;7999:2;7995;7991:11;7957:73;:::i;8249:432::-;8438:2;8427:9;8420:21;8496:4;8487:6;8481:13;8477:24;8472:2;8461:9;8457:18;8450:52;8401:4;8549:2;8541:6;8537:15;8531:22;8591:4;8584;8573:9;8569:20;8562:34;8613:62;8671:2;8660:9;8656:18;8642:12;8613:62;:::i;9294:612::-;9485:2;9474:9;9467:21;9560:1;9556;9551:3;9547:11;9543:19;9534:6;9528:13;9524:39;9519:2;9508:9;9504:18;9497:67;9628:8;9622:2;9614:6;9610:15;9604:22;9600:37;9595:2;9584:9;9580:18;9573:65;9448:4;9685:2;9677:6;9673:15;9667:22;9725:4;9720:2;9709:9;9705:18;9698:32;9753:63;9811:3;9800:9;9796:19;9782:12;9753:63;:::i;:::-;9739:77;;9872:2;9864:6;9860:15;9854:22;9847:4;9836:9;9832:20;9825:52;9894:6;9886:14;;;9294:612;;;;:::o;10100:247::-;10159:6;10212:2;10200:9;10191:7;10187:23;10183:32;10180:52;;;10228:1;10225;10218:12;10180:52;10267:9;10254:23;10286:31;10311:5;10286:31;:::i;11190:127::-;11251:10;11246:3;11242:20;11239:1;11232:31;11282:4;11279:1;11272:15;11306:4;11303:1;11296:15;11322:152;11415:1;11408:5;11405:12;11395:46;;11421:18;;:::i;:::-;11450;;11322:152::o;11479:146::-;11565:2;11558:5;11555:13;11545:47;;11572:18;;:::i;11630:1045::-;11688:3;11719;11751:5;11745:12;11778:6;11773:3;11766:19;11810:4;11805:3;11801:14;11794:21;;11868:4;11858:6;11855:1;11851:14;11844:5;11840:26;11836:37;11907:4;11900:5;11896:16;11930:1;11940:709;11954:6;11951:1;11948:13;11940:709;;;12019:16;;;-1:-1:-1;;12015:30:136;12003:43;;12069:13;;12023:4;12175:2;12165:13;;12233:1;12247:291;12263:4;12258:3;12255:13;12247:291;;;12348:4;12340:6;12336:17;12329:5;12322:32;12381:53;12427:6;12416:8;12410:15;12381:53;:::i;:::-;12477:4;12463:19;;;;12508:16;;;;;12371:63;-1:-1:-1;12287:1:136;12278:11;12247:291;;;-1:-1:-1;12600:4:136;12625:14;;;;12559:6;;-1:-1:-1;12588:17:136;;;;;-1:-1:-1;;11976:1:136;11969:9;11940:709;;12680:1880;12888:4;12936:2;12925:9;12921:18;12966:2;12955:9;12948:21;12989:6;13024;13018:13;13055:6;13047;13040:22;13093:2;13082:9;13078:18;13071:25;;13155:2;13145:6;13142:1;13138:14;13127:9;13123:30;13119:39;13105:53;;13193:2;13185:6;13181:15;13214:1;13224:1307;13238:6;13235:1;13232:13;13224:1307;;;13331:2;13327:7;13315:9;13307:6;13303:22;13299:36;13294:3;13287:49;13365:6;13359:13;13415:4;13410:2;13404:9;13400:20;13392:6;13385:36;13468:2;13464;13460:11;13454:18;13485:68;13549:2;13541:6;13537:15;13523:12;13485:68;:::i;:::-;;13602:2;13598;13594:11;13588:18;13619:63;13678:2;13670:6;13666:15;13650:14;13619:63;:::i;:::-;;13731:4;13727:2;13723:13;13717:20;13776:4;13769;13761:6;13757:17;13750:31;13808:63;13865:4;13857:6;13853:17;13837:14;13808:63;:::i;:::-;13794:77;;13920:4;13916:2;13912:13;13906:20;13977:6;13969;13965:19;13958:4;13950:6;13946:17;13939:46;14012:52;14057:6;14041:14;14012:52;:::i;:::-;13998:66;;;14113:4;14109:2;14105:13;14099:20;14170:6;14162;14158:19;14151:4;14143:6;14139:17;14132:46;14205:57;14255:6;14239:14;14205:57;:::i;:::-;14191:71;;;14311:4;14307:2;14303:13;14297:20;14275:42;;14368:6;14360;14356:19;14349:4;14341:6;14337:17;14330:46;14399:52;14444:6;14428:14;14399:52;:::i;:::-;14389:62;-1:-1:-1;;;14486:2:136;14509:12;;;;14474:15;;;;;13260:1;13253:9;13224:1307;;;-1:-1:-1;14548:6:136;;12680:1880;-1:-1:-1;;;;;;12680:1880:136:o;14565:525::-;14645:6;14653;14661;14714:2;14702:9;14693:7;14689:23;14685:32;14682:52;;;14730:1;14727;14720:12;14682:52;14770:9;14757:23;-1:-1:-1;;;;;14795:6:136;14792:30;14789:50;;;14835:1;14832;14825:12;14789:50;14874:59;14925:7;14916:6;14905:9;14901:22;14874:59;:::i;:::-;14952:8;;14848:85;;-1:-1:-1;15056:2:136;15041:18;;;;15028:32;;14565:525;-1:-1:-1;;;;14565:525:136:o;15095:411::-;15166:6;15174;15227:2;15215:9;15206:7;15202:23;15198:32;15195:52;;;15243:1;15240;15233:12;15195:52;15283:9;15270:23;-1:-1:-1;;;;;15308:6:136;15305:30;15302:50;;;15348:1;15345;15338:12;15302:50;15387:59;15438:7;15429:6;15418:9;15414:22;15387:59;:::i;:::-;15465:8;;15361:85;;-1:-1:-1;15095:411:136;-1:-1:-1;;;;15095:411:136:o;15511:202::-;-1:-1:-1;;;;;;15673:33:136;;;;15655:52;;15643:2;15628:18;;15511:202::o;15718:158::-;15781:5;15826:2;15817:6;15812:3;15808:16;15804:25;15801:45;;;15842:1;15839;15832:12;15881:378;15979:6;15987;16040:2;16028:9;16019:7;16015:23;16011:32;16008:52;;;16056:1;16053;16046:12;16008:52;16095:9;16082:23;16114:30;16138:5;16114:30;:::i;:::-;16163:5;-1:-1:-1;16187:66:136;16245:7;16240:2;16225:18;;16187:66;:::i;:::-;16177:76;;15881:378;;;;;:::o;16264:573::-;16371:6;16379;16387;16440:2;16428:9;16419:7;16415:23;16411:32;16408:52;;;16456:1;16453;16446:12;16408:52;16496:9;16483:23;-1:-1:-1;;;;;16521:6:136;16518:30;16515:50;;;16561:1;16558;16551:12;16515:50;16600:59;16651:7;16642:6;16631:9;16627:22;16600:59;:::i;:::-;16678:8;;-1:-1:-1;16574:85:136;-1:-1:-1;;16763:2:136;16748:18;;16735:32;16776:31;16735:32;16776:31;:::i;:::-;16826:5;16816:15;;;16264:573;;;;;:::o;17297:117::-;17382:6;17375:5;17371:18;17364:5;17361:29;17351:57;;17404:1;17401;17394:12;17419:245;17477:6;17530:2;17518:9;17509:7;17505:23;17501:32;17498:52;;;17546:1;17543;17536:12;17498:52;17585:9;17572:23;17604:30;17628:5;17604:30;:::i;17669:180::-;17728:6;17781:2;17769:9;17760:7;17756:23;17752:32;17749:52;;;17797:1;17794;17787:12;17749:52;-1:-1:-1;17820:23:136;;17669:180;-1:-1:-1;17669:180:136:o;18086:411::-;-1:-1:-1;;;;;18167:5:136;18161:12;18157:37;18152:3;18145:50;-1:-1:-1;;;;;18248:4:136;18241:5;18237:16;18231:23;18227:48;18220:4;18215:3;18211:14;18204:72;18325:4;18318:5;18314:16;18308:23;18301:4;18296:3;18292:14;18285:47;18378:4;18371:5;18367:16;18361:23;18420:1;18406:12;18403:19;18393:53;;18426:18;;:::i;:::-;18478:12;18471:4;18466:3;18462:14;18455:36;;18086:411;;:::o;18502:243::-;18684:3;18669:19;;18697:42;18673:9;18721:6;18697:42;:::i;18750:711::-;18943:2;18932:9;18925:21;19018:1;19014;19009:3;19005:11;19001:19;18992:6;18986:13;18982:39;18977:2;18966:9;18962:18;18955:67;-1:-1:-1;;;;;19080:2:136;19072:6;19068:15;19062:22;19058:47;19053:2;19042:9;19038:18;19031:75;19160:2;19152:6;19148:15;19142:22;19137:2;19126:9;19122:18;19115:50;18906:4;19212:2;19204:6;19200:15;19194:22;19253:4;19247:3;19236:9;19232:19;19225:33;19281:63;19339:3;19328:9;19324:19;19310:12;19281:63;:::i;:::-;19404:3;19392:16;;;;19386:23;-1:-1:-1;;;;;19382:49:136;19419:3;19360:20;;;;19353:79;;;;-1:-1:-1;19267:77:136;;18750:711;-1:-1:-1;18750:711:136:o;19659:256::-;19816:2;19801:18;;19849:1;19838:13;;19828:47;;19855:18;;:::i;:::-;19884:25;;;19659:256;:::o;20473:444::-;20558:6;20566;20619:2;20607:9;20598:7;20594:23;20590:32;20587:52;;;20635:1;20632;20625:12;20587:52;20675:9;20662:23;-1:-1:-1;;;;;20700:6:136;20697:30;20694:50;;;20740:1;20737;20730:12;20694:50;20779:78;20849:7;20840:6;20829:9;20825:22;20779:78;:::i;20922:678::-;21160:2;21172:21;;;21242:13;;21145:18;;;21264:22;;;21112:4;;21343:15;;;21317:2;21302:18;;;21112:4;21386:188;21400:6;21397:1;21394:13;21386:188;;;21449:43;21488:3;21479:6;21473:13;21449:43;:::i;:::-;21561:2;21549:15;;;;;21521:4;21512:14;;;;;21422:1;21415:9;21386:188;;;-1:-1:-1;21591:3:136;;20922:678;-1:-1:-1;;;;;20922:678:136:o;21605:245::-;21695:6;21748:2;21736:9;21727:7;21723:23;21719:32;21716:52;;;21764:1;21761;21754:12;21716:52;21787:57;21836:7;21825:9;21787:57;:::i;22819:127::-;22880:10;22875:3;22871:20;22868:1;22861:31;22911:4;22908:1;22901:15;22935:4;22932:1;22925:15;22951:127;23012:10;23007:3;23003:20;23000:1;22993:31;23043:4;23040:1;23033:15;23067:4;23064:1;23057:15;23083:165;23121:1;23155:4;23152:1;23148:12;23179:3;23169:37;;23186:18;;:::i;:::-;23238:3;23231:4;23228:1;23224:12;23220:22;23215:27;;;23083:165;;;;:::o;23253:148::-;23341:4;23320:12;;;23334;;;23316:31;;23359:13;;23356:39;;;23375:18;;:::i;23406:157::-;23436:1;23470:4;23467:1;23463:12;23494:3;23484:37;;23501:18;;:::i;:::-;23553:3;23546:4;23543:1;23539:12;23535:22;23530:27;;;23406:157;;;;:::o;23568:127::-;23629:10;23624:3;23620:20;23617:1;23610:31;23660:4;23657:1;23650:15;23684:4;23681:1;23674:15;23700:187;23764:4;-1:-1:-1;;;;;23789:6:136;23786:30;23783:56;;;23819:18;;:::i;:::-;-1:-1:-1;23864:1:136;23860:14;23876:4;23856:25;;23700:187::o;23892:163::-;23968:13;;23939:5;24010:20;;;24000:31;;23990:59;;24045:1;24042;24035:12;24060:514;24114:5;24167:3;24160:4;24152:6;24148:17;24144:27;24134:55;;24185:1;24182;24175:12;24134:55;24218:6;24212:13;24257:4;24249:6;24245:17;24286:1;24307:52;24323:35;24351:6;24323:35;:::i;24307:52::-;24296:63;;24384:6;24375:7;24368:23;24424:3;24415:6;24410:3;24406:16;24403:25;24400:45;;;24441:1;24438;24431:12;24400:45;24485:6;24480:3;24473:4;24464:7;24460:18;24454:38;24541:1;24512:20;;;24534:4;24508:31;24501:42;;;;-1:-1:-1;24516:7:136;24060:514;-1:-1:-1;;;24060:514:136:o;24579:106::-;24659:1;24652:5;24649:12;24639:40;;24675:1;24672;24665:12;24690:148;24774:13;;24796:36;24774:13;24796:36;:::i;24843:1183::-;24907:5;24955:4;24943:9;24938:3;24934:19;24930:30;24927:50;;;24973:1;24970;24963:12;24927:50;24995:22;;:::i;:::-;24986:31;;25047:9;25041:16;25066:38;25096:7;25066:38;:::i;:::-;25113:22;;25179:2;25164:18;;25158:25;-1:-1:-1;;;;;25195:30:136;;25192:50;;;25238:1;25235;25228:12;25192:50;25261:22;;25314:4;25306:13;;25302:23;-1:-1:-1;25292:51:136;;25339:1;25336;25329:12;25292:51;25372:2;25366:9;25395:68;25411:51;25455:6;25411:51;:::i;25395:68::-;25485:3;25509:6;25504:3;25497:19;25541:2;25536:3;25532:12;25525:19;;25596:2;25586:6;25583:1;25579:14;25575:2;25571:23;25567:32;25553:46;;25622:3;25614:6;25611:15;25608:35;;;25639:1;25636;25629:12;25608:35;25671:2;25667;25663:11;25683:299;25699:6;25694:3;25691:15;25683:299;;;25778:3;25772:10;-1:-1:-1;;;;;25801:11:136;25798:35;25795:55;;;25846:1;25843;25836:12;25795:55;25875:64;25935:3;25930:2;25916:11;25912:2;25908:20;25904:29;25875:64;:::i;:::-;25863:77;;-1:-1:-1;25969:2:136;25960:12;;;;25716;25683:299;;;-1:-1:-1;26009:2:136;25998:14;;25991:29;-1:-1:-1;26002:5:136;;24843:1183;-1:-1:-1;;;;24843:1183:136:o;26031:754::-;26095:5;26143:4;26131:9;26126:3;26122:19;26118:30;26115:50;;;26161:1;26158;26151:12;26115:50;26214:2;26208:9;26256:4;26244:17;;-1:-1:-1;;;;;26276:34:136;;26312:22;;;26273:62;26270:88;;;26338:18;;:::i;:::-;26378:10;26374:2;26367:22;;26407:6;26398:15;;26443:9;26437:16;26484:1;26475:7;26472:14;26462:42;;26500:1;26497;26490:12;26462:42;26513:23;;26581:2;26566:18;;26560:25;26594:33;26560:25;26594:33;:::i;:::-;26655:2;26643:15;;26636:32;26734:2;26719:18;;;26713:25;26754:15;;26747:32;;;;26031:754;;-1:-1:-1;26031:754:136:o;26790:165::-;26868:13;;26921:8;26910:20;;26900:31;;26890:59;;26945:1;26942;26935:12;26960:164;27036:13;;27085;;27078:21;27068:32;;27058:60;;27114:1;27111;27104:12;27129:972;27203:5;27251:4;27239:9;27234:3;27230:19;27226:30;27223:50;;;27269:1;27266;27259:12;27223:50;27322:2;27316:9;27364:4;27352:17;;-1:-1:-1;;;;;27384:34:136;;27420:22;;;27381:62;27378:88;;;27446:18;;:::i;:::-;27482:2;27475:22;27515:6;-1:-1:-1;27515:6:136;27545:39;27574:9;27545:39;:::i;:::-;27537:6;27530:55;27618:46;27660:2;27649:9;27645:18;27618:46;:::i;:::-;27613:2;27605:6;27601:15;27594:71;27698:48;27742:2;27731:9;27727:18;27698:48;:::i;:::-;27693:2;27685:6;27681:15;27674:73;27780:48;27824:2;27813:9;27809:18;27780:48;:::i;:::-;27775:2;27767:6;27763:15;27756:73;27874:3;27863:9;27859:19;27853:26;27888:32;27912:7;27888:32;:::i;:::-;27948:3;27936:16;;27929:33;28007:3;27992:19;;27986:26;28021:32;27986:26;28021:32;:::i;:::-;28081:3;28069:16;;;;28062:33;27129:972;;-1:-1:-1;;27129:972:136:o;28106:129::-;-1:-1:-1;;;;;28184:5:136;28180:30;28173:5;28170:41;28160:69;;28225:1;28222;28215:12;28240:986;28303:5;28351:4;28339:9;28334:3;28330:19;28326:30;28323:50;;;28369:1;28366;28359:12;28323:50;28422:2;28416:9;28464:4;28452:17;;-1:-1:-1;;;;;28484:34:136;;28520:22;;;28481:62;28478:88;;;28546:18;;:::i;:::-;28582:2;28575:22;28615:6;-1:-1:-1;28615:6:136;28645:37;28672:9;28645:37;:::i;:::-;28637:6;28630:53;28728:2;28717:9;28713:18;28707:25;28741:32;28765:7;28741:32;:::i;:::-;28801:2;28789:15;;28782:32;28859:2;28844:18;;28838:25;28905:1;28894:22;;;28882:35;;28872:63;;28931:1;28928;28921:12;28872:63;28963:2;28951:15;;28944:32;29021:2;29006:18;;29000:25;29034:32;29000:25;29034:32;:::i;:::-;29094:2;29082:15;;29075:32;29173:3;29158:19;;;29152:26;29194:16;;29187:33;;;;28240:986;;-1:-1:-1;28240:986:136:o;29231:1055::-;29293:5;29341:6;29329:9;29324:3;29320:19;29316:32;29313:52;;;29361:1;29358;29351:12;29313:52;29383:22;;:::i;:::-;29450:16;;29475:22;;29374:31;-1:-1:-1;29529:46:136;29571:2;29556:18;;29529:46;:::i;:::-;29524:2;29517:5;29513:14;29506:70;29620:2;29609:9;29605:18;29599:25;-1:-1:-1;;;;;29639:6:136;29636:30;29633:50;;;29679:1;29676;29669:12;29633:50;29715:57;29768:3;29759:6;29748:9;29744:22;29715:57;:::i;:::-;29710:2;29703:5;29699:14;29692:81;;29819:2;29808:9;29804:18;29798:25;-1:-1:-1;;;;;29838:8:136;29835:32;29832:52;;;29880:1;29877;29870:12;29832:52;29916:66;29978:3;29967:8;29956:9;29952:24;29916:66;:::i;:::-;29911:2;29904:5;29900:14;29893:90;;30016:61;30073:3;30067;30056:9;30052:19;30016:61;:::i;:::-;30010:3;30003:5;29999:15;29992:86;30112:72;30180:3;30173:4;30162:9;30158:20;30112:72;:::i;:::-;30105:4;30098:5;30094:16;30087:98;30219:60;30275:3;30269;30258:9;30254:19;30219:60;:::i;:::-;30212:4;30205:5;30201:16;30194:86;29231:1055;;;;:::o;30291:1076::-;30409:6;30462:2;30450:9;30441:7;30437:23;30433:32;30430:52;;;30478:1;30475;30468:12;30430:52;30511:9;30505:16;-1:-1:-1;;;;;30536:6:136;30533:30;30530:50;;;30576:1;30573;30566:12;30530:50;30599:22;;30652:4;30644:13;;30640:27;-1:-1:-1;30630:55:136;;30681:1;30678;30671:12;30630:55;30714:2;30708:9;30737:68;30753:51;30797:6;30753:51;:::i;30737:68::-;30827:3;30851:6;30846:3;30839:19;30883:2;30878:3;30874:12;30867:19;;30938:2;30928:6;30925:1;30921:14;30917:2;30913:23;30909:32;30895:46;;30964:7;30956:6;30953:19;30950:39;;;30985:1;30982;30975:12;30950:39;31017:2;31013;31009:11;31029:308;31045:6;31040:3;31037:15;31029:308;;;31124:3;31118:10;-1:-1:-1;;;;;31147:11:136;31144:35;31141:55;;;31192:1;31189;31182:12;31141:55;31221:73;31286:7;31281:2;31267:11;31263:2;31259:20;31255:29;31221:73;:::i;:::-;31209:86;;-1:-1:-1;31324:2:136;31315:12;;;;31062;31029:308;;;-1:-1:-1;31356:5:136;30291:1076;-1:-1:-1;;;;;;30291:1076:136:o;31605:355::-;31698:6;31751:2;31739:9;31730:7;31726:23;31722:32;31719:52;;;31767:1;31764;31757:12;31719:52;31800:9;31794:16;-1:-1:-1;;;;;31825:6:136;31822:30;31819:50;;;31865:1;31862;31855:12;31819:50;31888:66;31946:7;31937:6;31926:9;31922:22;31888:66;:::i;31965:472::-;32061:6;32069;32122:2;32110:9;32101:7;32097:23;32093:32;32090:52;;;32138:1;32135;32128:12;32090:52;32170:9;32164:16;32189:31;32214:5;32189:31;:::i;:::-;32288:2;32273:18;;32267:25;32239:5;;-1:-1:-1;;;;;;32304:30:136;;32301:50;;;32347:1;32344;32337:12;32301:50;32370:61;32423:7;32414:6;32403:9;32399:22;32370:61;:::i;:::-;32360:71;;;31965:472;;;;;:::o;33141:251::-;33211:6;33264:2;33252:9;33243:7;33239:23;33235:32;33232:52;;;33280:1;33277;33270:12;33232:52;33312:9;33306:16;33331:31;33356:5;33331:31;:::i;33610:336::-;33689:6;33742:2;33730:9;33721:7;33717:23;33713:32;33710:52;;;33758:1;33755;33748:12;33710:52;33791:9;33785:16;-1:-1:-1;;;;;33816:6:136;33813:30;33810:50;;;33856:1;33853;33846:12;33810:50;33879:61;33932:7;33923:6;33912:9;33908:22;33879:61;:::i;33951:202::-;34018:6;34071:2;34059:9;34050:7;34046:23;34042:32;34039:52;;;34087:1;34084;34077:12;34039:52;34110:37;34137:9;34110:37;:::i;34158:179::-;34191:3;34224:20;;;34256:21;;;34253:47;;34280:18;;:::i;:::-;34320:1;34316:15;;34158:179;-1:-1:-1;;34158:179:136:o;34342:269::-;34447:6;34500:3;34488:9;34479:7;34475:23;34471:33;34468:53;;;34517:1;34514;34507:12;34468:53;34540:65;34597:7;34586:9;34540:65;:::i;34616:268::-;-1:-1:-1;;;;;34700:26:136;;;34728;;;34696:59;34775:36;;;;34830:24;;;34820:58;;34858:18;;:::i;34889:194::-;34928:1;-1:-1:-1;;;;;34959:1:136;34955:26;35000:3;34990:37;;35007:18;;:::i;:::-;35073:3;-1:-1:-1;;;;;35049:1:136;35045:26;35041:36;35036:41;;;34889:194;;;;:::o;35088:160::-;35165:13;;35218:4;35207:16;;35197:27;;35187:55;;35238:1;35235;35228:12;35253:160;35344:13;;35386:2;35376:13;;35366:41;;35403:1;35400;35393:12;35418:1465;35488:5;35541:3;35534:4;35526:6;35522:17;35518:27;35508:55;;35559:1;35556;35549:12;35508:55;35592:6;35586:13;35619:68;35635:51;35679:6;35635:51;:::i;35619:68::-;35711:3;35735:6;35730:3;35723:19;35767:4;35762:3;35758:14;35751:21;;35828:4;35818:6;35815:1;35811:14;35803:6;35799:27;35795:38;35781:52;;35856:3;35848:6;35845:15;35842:35;;;35873:1;35870;35863:12;35842:35;35909:4;35901:6;35897:17;35923:929;35939:6;35934:3;35931:15;35923:929;;;36020:3;36014:10;-1:-1:-1;;;;;36043:11:136;36040:35;36037:55;;;36088:1;36085;36078:12;36037:55;36115:24;;36174:2;36166:11;;36162:21;-1:-1:-1;36152:49:136;;36197:1;36194;36187:12;36152:49;36227:22;;:::i;:::-;36277:5;36319:2;36315;36311:11;36351:3;36341:8;36338:17;36335:37;;;36368:1;36365;36358:12;36335:37;36406:4;36402:2;36398:13;36424:351;36442:8;36435:5;36432:19;36424:351;;;36539:5;36533:12;-1:-1:-1;;;;;36568:13:136;36565:37;36562:57;;;36615:1;36612;36605:12;36562:57;36650:68;36714:3;36707:4;36691:13;36687:2;36683:22;36679:33;36650:68;:::i;:::-;36636:83;;-1:-1:-1;36756:4:136;36745:16;;;;36463;36424:351;;;-1:-1:-1;;36788:20:136;;-1:-1:-1;;36837:4:136;36828:14;;;;35956;35923:929;;;-1:-1:-1;36870:7:136;35418:1465;-1:-1:-1;;;;;35418:1465:136:o;36888:2306::-;37016:6;37069:2;37057:9;37048:7;37044:23;37040:32;37037:52;;;37085:1;37082;37075:12;37037:52;37118:9;37112:16;-1:-1:-1;;;;;37143:6:136;37140:30;37137:50;;;37183:1;37180;37173:12;37137:50;37206:22;;37259:4;37251:13;;37247:27;-1:-1:-1;37237:55:136;;37288:1;37285;37278:12;37237:55;37321:2;37315:9;37344:68;37360:51;37404:6;37360:51;:::i;37344:68::-;37434:3;37458:6;37453:3;37446:19;37490:2;37485:3;37481:12;37474:19;;37545:2;37535:6;37532:1;37528:14;37524:2;37520:23;37516:32;37502:46;;37571:7;37563:6;37560:19;37557:39;;;37592:1;37589;37582:12;37557:39;37624:2;37620;37616:11;37636:1528;37652:6;37647:3;37644:15;37636:1528;;;37731:3;37725:10;-1:-1:-1;;;;;37754:11:136;37751:35;37748:55;;;37799:1;37796;37789:12;37748:55;37826:20;;37898:4;37870:16;;;-1:-1:-1;;37866:30:136;37862:41;37859:61;;;37916:1;37913;37906:12;37859:61;37946:22;;:::i;:::-;37995:40;38031:2;38027;38023:11;37995:40;:::i;:::-;37988:5;37981:55;38072:47;38115:2;38111;38107:11;38072:47;:::i;:::-;38067:2;38060:5;38056:14;38049:71;38156:54;38206:2;38202;38198:11;38156:54;:::i;:::-;38151:2;38144:5;38140:14;38133:78;38254:3;38250:2;38246:12;38240:19;-1:-1:-1;;;;;38278:8:136;38275:32;38272:52;;;38320:1;38317;38310:12;38272:52;38360:65;38417:7;38412:2;38401:8;38397:2;38393:17;38389:26;38360:65;:::i;:::-;38355:2;38348:5;38344:14;38337:89;;38469:3;38465:2;38461:12;38455:19;-1:-1:-1;;;;;38493:8:136;38490:32;38487:52;;;38535:1;38532;38525:12;38487:52;38576:65;38633:7;38628:2;38617:8;38613:2;38609:17;38605:26;38576:65;:::i;:::-;38570:3;38563:5;38559:15;38552:90;;38685:3;38681:2;38677:12;38671:19;-1:-1:-1;;;;;38709:8:136;38706:32;38703:52;;;38751:1;38748;38741:12;38703:52;38792:81;38865:7;38860:2;38849:8;38845:2;38841:17;38837:26;38792:81;:::i;:::-;38786:3;38779:5;38775:15;38768:106;;38917:4;38913:2;38909:13;38903:20;-1:-1:-1;;;;;38942:8:136;38939:32;38936:52;;;38984:1;38981;38974:12;38936:52;39025:65;39082:7;39077:2;39066:8;39062:2;39058:17;39054:26;39025:65;:::i;:::-;39019:3;39008:15;;39001:90;-1:-1:-1;39104:18:136;;-1:-1:-1;39151:2:136;39142:12;;;;37669;37636:1528;;39199:249;39268:6;39321:2;39309:9;39300:7;39296:23;39292:32;39289:52;;;39337:1;39334;39327:12;39289:52;39369:9;39363:16;39388:30;39412:5;39388:30;:::i;39453:247::-;39547:6;39600:3;39588:9;39579:7;39575:23;39571:33;39568:53;;;39617:1;39614;39607:12;39568:53;39640:54;39686:7;39675:9;39640:54;:::i;39705:390::-;39864:2;39853:9;39846:21;39903:6;39898:2;39887:9;39883:18;39876:34;39960:6;39952;39947:2;39936:9;39932:18;39919:48;40016:1;39987:22;;;40011:2;39983:31;;;39976:42;;;;40079:2;40058:15;;;-1:-1:-1;;40054:29:136;40039:45;40035:54;;39705:390;-1:-1:-1;39705:390:136:o;40100:202::-;40167:6;40220:2;40208:9;40199:7;40195:23;40191:32;40188:52;;;40236:1;40233;40226:12;40188:52;40259:37;40286:9;40259:37;:::i;40649:380::-;40728:1;40724:12;;;;40771;;;40792:61;;40846:4;40838:6;40834:17;40824:27;;40792:61;40899:2;40891:6;40888:14;40868:18;40865:38;40862:161;;40945:10;40940:3;40936:20;40933:1;40926:31;40980:4;40977:1;40970:15;41008:4;41005:1;40998:15;41034:338;-1:-1:-1;;;41291:3:136;41284:27;41266:3;41327:39;41362:2;41357:3;41353:12;41345:6;41327:39;:::i;41377:125::-;41442:9;;;41463:10;;;41460:36;;;41476:18;;:::i;41507:267::-;41686:3;41711:57;41737:30;41763:3;41755:6;41737:30;:::i;42189:422::-;42469:3;42497:30;42523:3;42515:6;42497:30;:::i;:::-;-1:-1:-1;;;42543:2:136;42536:16;42568:37;42602:1;42598:2;42594:10;42586:6;42568:37;:::i;:::-;42561:44;42189:422;-1:-1:-1;;;;;42189:422:136:o;42616:135::-;42655:3;42676:17;;;42673:43;;42696:18;;:::i;:::-;-1:-1:-1;42743:1:136;42732:13;;42616:135::o;42756:128::-;42823:9;;;42844:11;;;42841:37;;;42858:18;;:::i;42889:168::-;42962:9;;;42993;;43010:15;;;43004:22;;42990:37;42980:71;;43031:18;;:::i;43062:375::-;43150:1;43168:5;43182:249;43203:1;43193:8;43190:15;43182:249;;;43253:4;43248:3;43244:14;43238:4;43235:24;43232:50;;;43262:18;;:::i;:::-;43312:1;43302:8;43298:16;43295:49;;;43326:16;;;;43295:49;43409:1;43405:16;;;;;43365:15;;43182:249;;;43062:375;;;;;;:::o;43442:902::-;43491:5;43521:8;43511:80;;-1:-1:-1;43562:1:136;43576:5;;43511:80;43610:4;43600:76;;-1:-1:-1;43647:1:136;43661:5;;43600:76;43692:4;43710:1;43705:59;;;;43778:1;43773:174;;;;43685:262;;43705:59;43735:1;43726:10;;43749:5;;;43773:174;43810:3;43800:8;43797:17;43794:43;;;43817:18;;:::i;:::-;-1:-1:-1;;43873:1:136;43859:16;;43932:5;;43685:262;;44031:2;44021:8;44018:16;44012:3;44006:4;44003:13;43999:36;43993:2;43983:8;43980:16;43975:2;43969:4;43966:12;43962:35;43959:77;43956:203;;;-1:-1:-1;44068:19:136;;;44144:5;;43956:203;44191:42;-1:-1:-1;;44216:8:136;44210:4;44191:42;:::i;:::-;44269:6;44265:1;44261:6;44257:19;44248:7;44245:32;44242:58;;;44280:18;;:::i;:::-;44318:20;;43442:902;-1:-1:-1;;;43442:902:136:o;44349:131::-;44409:5;44438:36;44465:8;44459:4;44438:36;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport {IWitOracle, IWitOracleRadonRegistry, Witnet} from \"../interfaces/IWitOracle.sol\";\r\n\r\nimport {IWitOracleLegacy} from \"../interfaces/legacy/IWitOracleLegacy.sol\";\r\nimport {IWitPriceFeeds, IWitPriceFeedsTypes, IWitPyth} from \"../interfaces/IWitPriceFeeds.sol\";\r\nimport {\r\n    IWitPriceFeedsLegacy, \r\n    IWitPriceFeedsLegacySolver,\r\n    IWitOracleRequest, \r\n    IWitOracleRequestTemplate\r\n} from \"../interfaces/legacy/IWitPriceFeedsLegacy.sol\";\r\n\r\nimport {Slices} from \"../libs/Slices.sol\";\r\nimport {Ownable, Ownable2Step} from \"../patterns/Ownable2Step.sol\";\r\nimport {WitnetUpgradableBase} from \"../core/WitnetUpgradableBase.sol\";\r\nimport {WitPriceFeedsLegacyDataLib} from \"../data/WitPriceFeedsLegacyDataLib.sol\";\r\nimport {WitPriceFeedsLegacy, IWitOracleAppliance} from \"../WitPriceFeedsLegacy.sol\";\r\n\r\n\r\n/// @title WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\r\n/// @author Guillermo Díaz <guillermo@witnet.io>\r\n\r\ncontract WitPriceFeedsLegacyBypassV3\r\n    is\r\n        Ownable2Step,\r\n        WitnetUpgradableBase\r\n{\r\n    using Slices for string;\r\n    using Slices for Slices.Slice;\r\n\r\n    IWitPriceFeeds immutable public surrogate;\r\n    IWitOracleRadonRegistry immutable public registry;\r\n\r\n    struct BypassV2V3 {\r\n        mapping (IWitPriceFeedsTypes.ID4 => bytes4) v2Ids;\r\n        mapping (bytes4 => IWitPriceFeedsTypes.ID4) v3Ids;\r\n    }\r\n\r\n    function class() public pure returns (string memory) {\r\n        return type(WitPriceFeedsLegacyBypassV3).name;\r\n    }\r\n    \r\n    constructor(\r\n            address _surrogate,\r\n            bytes32 _versionTag,\r\n            bool _upgradable\r\n        )\r\n        Ownable(address(msg.sender))\r\n        WitnetUpgradableBase(\r\n            _upgradable,\r\n            _versionTag,\r\n            \"io.witnet.proxiable.feeds.price\"\r\n        )\r\n    {\r\n        _require(\r\n            _surrogate != address(0)\r\n                && _surrogate.code.length > 0,\r\n            \"invalid surrogate\"\r\n        );\r\n        surrogate = IWitPriceFeeds(_surrogate);\r\n        registry = IWitOracleRadonRegistry(\r\n            IWitOracle(\r\n                IWitOracleAppliance(_surrogate).witOracle()\r\n            ).registry()\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Upgradeable' ------------------------------------------------------------------------------------\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    function __initializeUpgradableData(bytes memory) virtual override internal {\r\n        uint _length = __legacy().ids.length;\r\n        for (uint _ix; _ix < _length; ++ _ix) {\r\n            // turn legacy captions 'Price-*' into 'Caption.*' ...\r\n            bytes4 _v2Id = __legacy().ids[_ix];\r\n            string memory _captionV2 = __legacy().records[_v2Id].caption;\r\n            Slices.Slice memory _slice = _captionV2.toSlice();\r\n            Slices.Slice memory _delim = string(\"-\").toSlice();\r\n            string[] memory _parts = new string[](_slice.count(_delim) + 1);\r\n            for (uint _px = 0; _px < _parts.length; _px ++) {\r\n                _parts[_px] = _slice.split(_delim).toString();\r\n            }\r\n            string memory _captionV3 = \"Crypto.\";\r\n            for (uint _px = 1; _px < _parts.length; _px ++) {\r\n                _captionV3 = string(abi.encodePacked(\r\n                    _captionV3,\r\n                    _parts[_px]\r\n                ));\r\n            }\r\n            IWitPriceFeedsTypes.ID4 _v3Id = IWitPriceFeedsTypes.ID4.wrap(bytes4(keccak256(bytes(_captionV3))));\r\n            __bypass().v2Ids[_v3Id] = _v2Id;\r\n            __bypass().v3Ids[_v2Id] = _v3Id;\r\n        }\r\n    }\r\n\r\n    /// Tells whether provided address could eventually upgrade the contract.\r\n    function isUpgradableFrom(address _from) external view override returns (bool) {\r\n        address _owner = owner();\r\n        return (\r\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\r\n            isUpgradable()\r\n                && _owner == _from\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitFeeds' -------------------------------------------------------------------------------------\r\n\r\n    function estimateUpdateBaseFee(uint256) external pure returns (uint256) {\r\n        return 0;\r\n    }\r\n\r\n    function footprint() external view returns (bytes4) {\r\n        return surrogate.footprint();\r\n    }\r\n\r\n    function hash(string memory caption) external pure returns (bytes4) {\r\n        return WitPriceFeedsLegacyDataLib.hash(caption);\r\n    }\r\n    \r\n    function lookupCaption(bytes4 feedId)\r\n        public view\r\n        returns (string memory _caption)\r\n    {\r\n        _caption = surrogate.lookupPriceFeedCaption(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        if (bytes(_caption).length == 0) {\r\n            return __legacy().records[feedId].caption;\r\n        }\r\n    }\r\n\r\n    function supportedFeeds()\r\n        external view\r\n        returns (bytes4[] memory _ids, string[] memory _captions, bytes32[] memory _solvers)\r\n    {\r\n        IWitPriceFeeds.Info[] memory _pfs = surrogate.lookupPriceFeeds();\r\n        _ids = new bytes4[](_pfs.length);\r\n        _captions = new string[](_pfs.length);\r\n        _solvers = new bytes32[](_pfs.length);\r\n        for (uint _ix; _ix < _pfs.length; ++ _ix) {\r\n            IWitPriceFeedsTypes.ID4 _v3Id = IWitPriceFeedsTypes.ID4.wrap(bytes4((IWitPyth.ID.unwrap(_pfs[_ix].id))));\r\n            _ids[_ix] = (__bypass().v2Ids[_v3Id] == bytes4(0) ? IWitPriceFeedsTypes.ID4.unwrap(_v3Id) : __bypass().v2Ids[_v3Id]);\r\n            _captions[_ix] = _pfs[_ix].symbol;\r\n            if (_pfs[_ix].mapper.class != IWitPriceFeedsTypes.Mappers.None) {\r\n                _solvers[_ix] = (_pfs[_ix].oracle.sources != bytes32(0)\r\n                    ? _pfs[_ix].oracle.sources\r\n                    : bytes32(bytes20(_pfs[_ix].oracle.target))\r\n                );\r\n            }\r\n        }\r\n    }\r\n    \r\n    function supportsCaption(string calldata caption) external view returns (bool) {\r\n        return surrogate.supportsCaption(caption);\r\n    }\r\n\r\n    function totalFeeds() \r\n        external view\r\n        returns (uint256)\r\n    {\r\n        return surrogate.lookupPriceFeeds().length;\r\n    }\r\n\r\n    function lastValidQueryId(bytes4)\r\n        external pure\r\n        returns (uint256)\r\n    {\r\n        return 0;\r\n    }\r\n\r\n    function lastValidQueryResponse(bytes4)\r\n        external pure\r\n        returns (Witnet.QueryResponse memory)\r\n    {}\r\n\r\n    function latestUpdateQueryId(bytes4)\r\n        external pure\r\n        returns (uint256)\r\n    {\r\n        return 0;\r\n    }\r\n\r\n    function latestUpdateQueryRequest(bytes4)\r\n        external pure\r\n        returns (Witnet.QueryRequest memory _void)\r\n    {}\r\n\r\n    function lookupWitnetBytecode(bytes4 feedId)\r\n        external view\r\n        returns (bytes memory)\r\n    {\r\n        IWitPriceFeeds.Info memory _info = surrogate.lookupPriceFeed(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        if (_info.oracle.class == IWitPriceFeedsTypes.Oracles.Witnet) {\r\n            Witnet.RadonHash _radHash = Witnet.RadonHash.wrap(_info.oracle.sources);\r\n            return registry.lookupRadonRequestBytecode(_radHash);\r\n        } else {\r\n            return new bytes(0);\r\n        }\r\n    }\r\n\r\n    function lookupWitnetRadHash(bytes4 feedId)\r\n        external view\r\n        returns (bytes32 _void)\r\n    {\r\n        IWitPriceFeeds.Info memory _info = surrogate.lookupPriceFeed(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        if (_info.oracle.class == IWitPriceFeedsTypes.Oracles.Witnet) {\r\n            return _info.oracle.sources;\r\n        } else {\r\n            return bytes32(0);\r\n        }\r\n    }\r\n\r\n    function lookupWitnetRetrievals(bytes4 feedId)\r\n        external view\r\n        returns (Witnet.RadonRetrieval[] memory _void)\r\n    {\r\n        IWitPriceFeeds.Info memory _info = surrogate.lookupPriceFeed(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        if (_info.oracle.class == IWitPriceFeedsTypes.Oracles.Witnet) {\r\n            Witnet.RadonHash _radHash = Witnet.RadonHash.wrap(_info.oracle.sources);\r\n            return registry.lookupRadonRequestRetrievals(_radHash);\r\n        } else {\r\n            return new Witnet.RadonRetrieval[](0);\r\n        }\r\n    }\r\n\r\n    function requestUpdate(bytes4)\r\n        external payable\r\n        returns (uint256)\r\n    {\r\n        _revertBypass();\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- IWitFeedsLegacy -------------------------------------------------------------------------------------------\r\n    \r\n    function defaultRadonSLA() \r\n        external view \r\n        returns (IWitPriceFeedsLegacy.RadonSLAv1 memory)\r\n    {\r\n        IWitPriceFeeds.UpdateConditions memory _conditions = surrogate.defaultUpdateConditions();\r\n        uint8 _numWitnesses = uint8(_conditions.minWitnesses);\r\n        uint64 _unitaryReward = 2 * 10 ** 8; // 0.2 WIT\r\n        return IWitPriceFeedsLegacy.RadonSLAv1({\r\n            numWitnesses: _numWitnesses,\r\n            minConsensusPercentage: 51,\r\n            witnessReward: _unitaryReward,\r\n            witnessCollateral: _unitaryReward * _numWitnesses,\r\n            minerCommitRevealFee: _unitaryReward / _numWitnesses\r\n        });\r\n    }\r\n\r\n    function latestUpdateResponse(bytes4) \r\n        external view \r\n        returns (Witnet.QueryResponse memory)\r\n    {\r\n        _revertBypass();\r\n    }\r\n\r\n    function latestUpdateResponseStatus(bytes4)\r\n        external view\r\n        returns (IWitOracleLegacy.QueryResponseStatus)\r\n    {\r\n        _revertBypass();\r\n    }\r\n\r\n    function latestUpdateResultError(bytes4)\r\n        external view \r\n        returns (IWitOracleLegacy.ResultError memory)\r\n    {\r\n        _revertBypass();\r\n    }\r\n    \r\n    function requestUpdate(bytes4, IWitPriceFeedsLegacy.RadonSLAv2 calldata)\r\n        external payable\r\n        returns (uint256)\r\n    {\r\n        _revertBypass();\r\n    }\r\n\r\n    function witnet()\r\n        external view \r\n        returns (address)\r\n    {\r\n        return IWitOracleAppliance(address(surrogate)).witOracle();\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitPriceFeedsLegacyAdmin' -----------------------------------------------------------------------------\r\n\r\n    function owner()\r\n        virtual override\r\n        public view \r\n        returns (address)\r\n    {\r\n        return Ownable.owner();\r\n    }\r\n    \r\n    function acceptOwnership()\r\n        virtual override \r\n        public\r\n    {\r\n        Ownable2Step.acceptOwnership();\r\n    }\r\n\r\n    function baseFeeOverheadPercentage() external view returns (uint16) {\r\n        _revertBypass();\r\n    }\r\n\r\n\r\n    function pendingOwner() \r\n        virtual override \r\n        public view\r\n        returns (address)\r\n    {\r\n        return Ownable2Step.pendingOwner();\r\n    }\r\n    \r\n    function transferOwnership(address _newOwner)\r\n        virtual override \r\n        public \r\n        onlyOwner\r\n    {\r\n        Ownable.transferOwnership(_newOwner);\r\n    }\r\n\r\n    function deleteFeed(string calldata) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function deleteFeeds() external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function settleBaseFeeOverheadPercentage(uint16) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function settleDefaultRadonSLA(IWitPriceFeedsLegacy.RadonSLAv2 calldata) external view {\r\n        _revertBypass();\r\n    }\r\n    \r\n    function settleFeedRequest(string calldata, bytes32) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function settleFeedRequest(string calldata, IWitOracleRequest) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function settleFeedRequest(string calldata, IWitOracleRequestTemplate, string[][] calldata) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n    function settleFeedSolver(string calldata, address, string[] calldata) external view {\r\n        _revertBypass();\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IWitPriceFeeds' -----------------------------------------------------------------------------\r\n\r\n    function lookupDecimals(bytes4 feedId) \r\n        external view\r\n        returns (uint8)\r\n    {\r\n        int8 _exponent = surrogate.lookupPriceFeedExponent(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        _require(_exponent <= 0, \"uncompliant exponent\");\r\n        return uint8(-_exponent);\r\n    }\r\n    \r\n    function lookupPriceSolver(bytes4 feedId)\r\n        external view\r\n        returns (address _solverAddress, string[] memory _solverDeps)\r\n    {\r\n        IWitPriceFeeds.Info memory _info = surrogate.lookupPriceFeed(IWitPriceFeedsTypes.ID4.wrap(feedId));\r\n        if (_info.mapper.class != IWitPriceFeedsTypes.Mappers.None) {\r\n            _solverAddress = address(surrogate);\r\n            _solverDeps = _info.mapper.deps;\r\n        }\r\n    }\r\n\r\n    function latestPrice(bytes4 feedId)\r\n        public view\r\n        returns (IWitPriceFeedsLegacySolver.Price memory)\r\n    {\r\n        IWitPriceFeedsTypes.ID4 _v3Id = (\r\n            IWitPriceFeedsTypes.ID4.unwrap(__bypass().v3Ids[feedId]) != bytes4(0) \r\n                ? __bypass().v3Ids[feedId]\r\n                : IWitPriceFeedsTypes.ID4.wrap(feedId)\r\n        );\r\n        IWitPriceFeeds.Price memory _lastUpdate = surrogate.getPriceUnsafe(_v3Id);\r\n        return IWitPriceFeedsLegacySolver.Price({\r\n            value: _lastUpdate.price,\r\n            timestamp: _lastUpdate.timestamp,\r\n            drTxHash: _lastUpdate.trail,\r\n            latestStatus: IWitPriceFeedsLegacySolver.LatestUpdateStatus.Ready\r\n        });\r\n    }\r\n\r\n    function latestPrices(bytes4[] calldata feedIds)\r\n        external view\r\n        returns (IWitPriceFeedsLegacySolver.Price[] memory _prices)\r\n    {\r\n        _prices = new IWitPriceFeedsLegacySolver.Price[](feedIds.length);\r\n        for (uint _ix = 0; _ix < feedIds.length; _ix ++) {\r\n            _prices[_ix] = latestPrice(feedIds[_ix]);\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Implements 'IERC2362' --------------------------------------------------------------------------------------\r\n    \r\n    function valueFor(bytes32 feedId)\r\n        external view\r\n        returns (int256, uint256, uint256)\r\n    {\r\n        bytes4 _v2Id = bytes4(feedId);\r\n        IWitPriceFeedsTypes.ID4 _v3Id = (\r\n            IWitPriceFeedsTypes.ID4.unwrap(__bypass().v3Ids[_v2Id]) != bytes4(0) \r\n                ? __bypass().v3Ids[_v2Id]\r\n                : IWitPriceFeedsTypes.ID4.wrap(_v2Id)\r\n        );\r\n        IWitPriceFeeds.Price memory _lastUpdate = surrogate.getPriceUnsafe(_v3Id);\r\n        uint256 _timestamp = uint(Witnet.Timestamp.unwrap(_lastUpdate.timestamp));\r\n        return (\r\n            int(int64(_lastUpdate.price)),\r\n            _timestamp,\r\n            _timestamp == 0 ? 404 : 200\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Internal methods -------------------------------------------------------------------------------------------\r\n\r\n    function _require(bool _condition, string memory _reason) internal pure {\r\n        if (_condition) {\r\n            _revert(_reason);\r\n        }\r\n    }\r\n\r\n    function _revert(string memory _reason) internal pure {\r\n        revert(string(abi.encodePacked(\r\n            class(),\r\n            \": \",\r\n            _reason\r\n        )));\r\n    }\r\n\r\n    function _revertBypass() internal view {\r\n        _revert(\r\n            string(\r\n                abi.encodePacked(\r\n                    \"bypassed to \", \r\n                    IWitOracleAppliance(address(surrogate)).class()\r\n                )\r\n            )\r\n        );\r\n    }\r\n\r\n    bytes32 private constant _BYPASS_V2_V3_STORAGE_SLOT =    \r\n        /* keccak256(\"io.witnet.feeds.bypass\") & ~bytes32(uint256(0xff) */\r\n        0xc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900;\r\n\r\n    function __bypass() internal pure returns (BypassV2V3 storage _ptr) {\r\n        assembly {\r\n            _ptr.slot := _BYPASS_V2_V3_STORAGE_SLOT       \r\n        }\r\n    }\r\n\r\n    function __legacy() internal pure returns (WitPriceFeedsLegacyDataLib.Storage storage _ptr) {\r\n        return WitPriceFeedsLegacyDataLib.data();\r\n    }\r\n\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\apps\\WitPriceFeedsLegacyBypassV3.sol",
  "ast": {
    "absolutePath": "project:/contracts/apps/WitPriceFeedsLegacyBypassV3.sol",
    "exportedSymbols": {
      "IWitOracle": [
        26581
      ],
      "IWitOracleAppliance": [
        26593
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitPriceFeeds": [
        27848
      ],
      "IWitPriceFeedsLegacy": [
        29361
      ],
      "IWitPriceFeedsLegacySolver": [
        29521
      ],
      "IWitPriceFeedsTypes": [
        28156
      ],
      "IWitPyth": [
        29643
      ],
      "Ownable": [
        415
      ],
      "Ownable2Step": [
        45709
      ],
      "Slices": [
        34366
      ],
      "WitPriceFeedsLegacy": [
        854
      ],
      "WitPriceFeedsLegacyBypassV3": [
        2294
      ],
      "WitPriceFeedsLegacyDataLib": [
        26464
      ],
      "Witnet": [
        40741
      ],
      "WitnetUpgradableBase": [
        9373
      ]
    },
    "id": 2295,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 906,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:31:16"
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracle.sol",
        "file": "../interfaces/IWitOracle.sol",
        "id": 910,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 26582,
        "src": "68:89:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 907,
              "name": "IWitOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 26581,
              "src": "76:10:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 908,
              "name": "IWitOracleRadonRegistry",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 27394,
              "src": "88:23:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 909,
              "name": "Witnet",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 40741,
              "src": "113:6:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitOracleLegacy.sol",
        "file": "../interfaces/legacy/IWitOracleLegacy.sol",
        "id": 912,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 28787,
        "src": "161:75:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 911,
              "name": "IWitOracleLegacy",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 28786,
              "src": "169:16:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitPriceFeeds.sol",
        "file": "../interfaces/IWitPriceFeeds.sol",
        "id": 916,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 27849,
        "src": "238:95:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 913,
              "name": "IWitPriceFeeds",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 27848,
              "src": "246:14:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 914,
              "name": "IWitPriceFeedsTypes",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 28156,
              "src": "262:19:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 915,
              "name": "IWitPyth",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 29643,
              "src": "283:8:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol",
        "file": "../interfaces/legacy/IWitPriceFeedsLegacy.sol",
        "id": 921,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 29362,
        "src": "335:182:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 917,
              "name": "IWitPriceFeedsLegacy",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 29361,
              "src": "349:20:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 918,
              "name": "IWitPriceFeedsLegacySolver",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 29521,
              "src": "377:26:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 919,
              "name": "IWitOracleRequest",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 28922,
              "src": "410:17:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 920,
              "name": "IWitOracleRequestTemplate",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 29115,
              "src": "435:25:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/libs/Slices.sol",
        "file": "../libs/Slices.sol",
        "id": 923,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 34367,
        "src": "521:42:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 922,
              "name": "Slices",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 34366,
              "src": "529:6:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Ownable2Step.sol",
        "file": "../patterns/Ownable2Step.sol",
        "id": 926,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 45710,
        "src": "565:67:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 924,
              "name": "Ownable",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 415,
              "src": "573:7:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 925,
              "name": "Ownable2Step",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 45709,
              "src": "582:12:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/core/WitnetUpgradableBase.sol",
        "file": "../core/WitnetUpgradableBase.sol",
        "id": 928,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 9374,
        "src": "634:70:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 927,
              "name": "WitnetUpgradableBase",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 9373,
              "src": "642:20:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/data/WitPriceFeedsLegacyDataLib.sol",
        "file": "../data/WitPriceFeedsLegacyDataLib.sol",
        "id": 930,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 26465,
        "src": "706:82:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 929,
              "name": "WitPriceFeedsLegacyDataLib",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 26464,
              "src": "714:26:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/WitPriceFeedsLegacy.sol",
        "file": "../WitPriceFeedsLegacy.sol",
        "id": 933,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2295,
        "sourceUnit": 855,
        "src": "790:84:16",
        "symbolAliases": [
          {
            "foreign": {
              "id": 931,
              "name": "WitPriceFeedsLegacy",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 854,
              "src": "798:19:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 932,
              "name": "IWitOracleAppliance",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 26593,
              "src": "819:19:16",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 935,
              "name": "Ownable2Step",
              "nameLocations": [
                "1086:12:16"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 45709,
              "src": "1086:12:16"
            },
            "id": 936,
            "nodeType": "InheritanceSpecifier",
            "src": "1086:12:16"
          },
          {
            "baseName": {
              "id": 937,
              "name": "WitnetUpgradableBase",
              "nameLocations": [
                "1109:20:16"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 9373,
              "src": "1109:20:16"
            },
            "id": 938,
            "nodeType": "InheritanceSpecifier",
            "src": "1109:20:16"
          }
        ],
        "canonicalName": "WitPriceFeedsLegacyBypassV3",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 934,
          "nodeType": "StructuredDocumentation",
          "src": "880:150:16",
          "text": "@title WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.\n @author Guillermo Díaz <guillermo@witnet.io>"
        },
        "fullyImplemented": true,
        "id": 2294,
        "linearizedBaseContracts": [
          2294,
          9373,
          592,
          45930,
          45810,
          267,
          45709,
          415,
          523
        ],
        "name": "WitPriceFeedsLegacyBypassV3",
        "nameLocation": "1041:27:16",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 941,
            "libraryName": {
              "id": 939,
              "name": "Slices",
              "nameLocations": [
                "1144:6:16"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 34366,
              "src": "1144:6:16"
            },
            "nodeType": "UsingForDirective",
            "src": "1138:24:16",
            "typeName": {
              "id": 940,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1155:6:16",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            }
          },
          {
            "global": false,
            "id": 945,
            "libraryName": {
              "id": 942,
              "name": "Slices",
              "nameLocations": [
                "1174:6:16"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 34366,
              "src": "1174:6:16"
            },
            "nodeType": "UsingForDirective",
            "src": "1168:30:16",
            "typeName": {
              "id": 944,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 943,
                "name": "Slices.Slice",
                "nameLocations": [
                  "1185:6:16",
                  "1192:5:16"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 32542,
                "src": "1185:12:16"
              },
              "referencedDeclaration": 32542,
              "src": "1185:12:16",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                "typeString": "struct Slices.Slice"
              }
            }
          },
          {
            "constant": false,
            "functionSelector": "c27ef34f",
            "id": 948,
            "mutability": "immutable",
            "name": "surrogate",
            "nameLocation": "1238:9:16",
            "nodeType": "VariableDeclaration",
            "scope": 2294,
            "src": "1206:41:16",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
              "typeString": "contract IWitPriceFeeds"
            },
            "typeName": {
              "id": 947,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 946,
                "name": "IWitPriceFeeds",
                "nameLocations": [
                  "1206:14:16"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 27848,
                "src": "1206:14:16"
              },
              "referencedDeclaration": 27848,
              "src": "1206:14:16",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                "typeString": "contract IWitPriceFeeds"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "7b103999",
            "id": 951,
            "mutability": "immutable",
            "name": "registry",
            "nameLocation": "1295:8:16",
            "nodeType": "VariableDeclaration",
            "scope": 2294,
            "src": "1254:49:16",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
              "typeString": "contract IWitOracleRadonRegistry"
            },
            "typeName": {
              "id": 950,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 949,
                "name": "IWitOracleRadonRegistry",
                "nameLocations": [
                  "1254:23:16"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 27394,
                "src": "1254:23:16"
              },
              "referencedDeclaration": 27394,
              "src": "1254:23:16",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                "typeString": "contract IWitOracleRadonRegistry"
              }
            },
            "visibility": "public"
          },
          {
            "canonicalName": "WitPriceFeedsLegacyBypassV3.BypassV2V3",
            "id": 962,
            "members": [
              {
                "constant": false,
                "id": 956,
                "mutability": "mutable",
                "name": "v2Ids",
                "nameLocation": "1385:5:16",
                "nodeType": "VariableDeclaration",
                "scope": 962,
                "src": "1341:49:16",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_userDefinedValueType$_ID4_$28155_$_t_bytes4_$",
                  "typeString": "mapping(IWitPriceFeedsTypes.ID4 => bytes4)"
                },
                "typeName": {
                  "id": 955,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 953,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 952,
                      "name": "IWitPriceFeedsTypes.ID4",
                      "nameLocations": [
                        "1350:19:16",
                        "1370:3:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28155,
                      "src": "1350:23:16"
                    },
                    "referencedDeclaration": 28155,
                    "src": "1350:23:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                      "typeString": "IWitPriceFeedsTypes.ID4"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1341:43:16",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_userDefinedValueType$_ID4_$28155_$_t_bytes4_$",
                    "typeString": "mapping(IWitPriceFeedsTypes.ID4 => bytes4)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 954,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1377:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 961,
                "mutability": "mutable",
                "name": "v3Ids",
                "nameLocation": "1445:5:16",
                "nodeType": "VariableDeclaration",
                "scope": 962,
                "src": "1401:49:16",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                  "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                },
                "typeName": {
                  "id": 960,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 957,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1410:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1401:43:16",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                    "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 959,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 958,
                      "name": "IWitPriceFeedsTypes.ID4",
                      "nameLocations": [
                        "1420:19:16",
                        "1440:3:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28155,
                      "src": "1420:23:16"
                    },
                    "referencedDeclaration": 28155,
                    "src": "1420:23:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                      "typeString": "IWitPriceFeedsTypes.ID4"
                    }
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "BypassV2V3",
            "nameLocation": "1319:10:16",
            "nodeType": "StructDefinition",
            "scope": 2294,
            "src": "1312:146:16",
            "visibility": "public"
          },
          {
            "body": {
              "id": 972,
              "nodeType": "Block",
              "src": "1519:64:16",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 968,
                          "name": "WitPriceFeedsLegacyBypassV3",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2294,
                          "src": "1542:27:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyBypassV3_$2294_$",
                            "typeString": "type(contract WitPriceFeedsLegacyBypassV3)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyBypassV3_$2294_$",
                            "typeString": "type(contract WitPriceFeedsLegacyBypassV3)"
                          }
                        ],
                        "id": 967,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "1537:4:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 969,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1537:33:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitPriceFeedsLegacyBypassV3_$2294",
                        "typeString": "type(contract WitPriceFeedsLegacyBypassV3)"
                      }
                    },
                    "id": 970,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "1571:4:16",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "1537:38:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 966,
                  "id": 971,
                  "nodeType": "Return",
                  "src": "1530:45:16"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 973,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "1475:5:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 963,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1480:2:16"
            },
            "returnParameters": {
              "id": 966,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 965,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 973,
                  "src": "1504:13:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 964,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1504:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1503:15:16"
            },
            "scope": 2294,
            "src": "1466:117:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1030,
              "nodeType": "Block",
              "src": "1900:376:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1006,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 1000,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 995,
                            "name": "_surrogate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 975,
                            "src": "1934:10:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 998,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1956:1:16",
                                "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": 997,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1948:7:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 996,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1948:7:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 999,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1948:10:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1934:24:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1005,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "expression": {
                                "id": 1001,
                                "name": "_surrogate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 975,
                                "src": "1979:10:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 1002,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "1990:4:16",
                              "memberName": "code",
                              "nodeType": "MemberAccess",
                              "src": "1979:15:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1003,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1995:6:16",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "1979:22:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 1004,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2004:1:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "1979:26:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1934:71:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e76616c696420737572726f67617465",
                        "id": 1007,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2020:19:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f68153a14cdead5a5675337fe987870cbda604c5c290ce490d6ac3aea06910e8",
                          "typeString": "literal_string \"invalid surrogate\""
                        },
                        "value": "invalid surrogate"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f68153a14cdead5a5675337fe987870cbda604c5c290ce490d6ac3aea06910e8",
                          "typeString": "literal_string \"invalid surrogate\""
                        }
                      ],
                      "id": 994,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2230,
                      "src": "1911:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1008,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1911:139:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1009,
                  "nodeType": "ExpressionStatement",
                  "src": "1911:139:16"
                },
                {
                  "expression": {
                    "id": 1014,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1010,
                      "name": "surrogate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 948,
                      "src": "2061:9:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                        "typeString": "contract IWitPriceFeeds"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 1012,
                          "name": "_surrogate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 975,
                          "src": "2088:10:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 1011,
                        "name": "IWitPriceFeeds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27848,
                        "src": "2073:14:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeeds_$27848_$",
                          "typeString": "type(contract IWitPriceFeeds)"
                        }
                      },
                      "id": 1013,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2073:26:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                        "typeString": "contract IWitPriceFeeds"
                      }
                    },
                    "src": "2061:38:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                      "typeString": "contract IWitPriceFeeds"
                    }
                  },
                  "id": 1015,
                  "nodeType": "ExpressionStatement",
                  "src": "2061:38:16"
                },
                {
                  "expression": {
                    "id": 1028,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1016,
                      "name": "registry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 951,
                      "src": "2110:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                        "typeString": "contract IWitOracleRadonRegistry"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 1020,
                                          "name": "_surrogate",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 975,
                                          "src": "2208:10:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 1019,
                                        "name": "IWitOracleAppliance",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 26593,
                                        "src": "2188:19:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IWitOracleAppliance_$26593_$",
                                          "typeString": "type(contract IWitOracleAppliance)"
                                        }
                                      },
                                      "id": 1021,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2188:31:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IWitOracleAppliance_$26593",
                                        "typeString": "contract IWitOracleAppliance"
                                      }
                                    },
                                    "id": 1022,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "2220:9:16",
                                    "memberName": "witOracle",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 26592,
                                    "src": "2188:41:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                      "typeString": "function () view external returns (address)"
                                    }
                                  },
                                  "id": 1023,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2188:43:16",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 1018,
                                "name": "IWitOracle",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26581,
                                "src": "2159:10:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracle_$26581_$",
                                  "typeString": "type(contract IWitOracle)"
                                }
                              },
                              "id": 1024,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2159:87:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracle_$26581",
                                "typeString": "contract IWitOracle"
                              }
                            },
                            "id": 1025,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2247:8:16",
                            "memberName": "registry",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 26580,
                            "src": "2159:96:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                              "typeString": "function () view external returns (contract IWitOracleRadonRegistry)"
                            }
                          },
                          "id": 1026,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2159:98:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                            "typeString": "contract IWitOracleRadonRegistry"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                            "typeString": "contract IWitOracleRadonRegistry"
                          }
                        ],
                        "id": 1017,
                        "name": "IWitOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27394,
                        "src": "2121:23:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                          "typeString": "type(contract IWitOracleRadonRegistry)"
                        }
                      },
                      "id": 1027,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2121:147:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                        "typeString": "contract IWitOracleRadonRegistry"
                      }
                    },
                    "src": "2110:158:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                      "typeString": "contract IWitOracleRadonRegistry"
                    }
                  },
                  "id": 1029,
                  "nodeType": "ExpressionStatement",
                  "src": "2110:158:16"
                }
              ]
            },
            "id": 1031,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "arguments": [
                      {
                        "expression": {
                          "id": 984,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967281,
                          "src": "1741:3:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 985,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1745:6:16",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "1741:10:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 983,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1733:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 982,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1733:7:16",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 986,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1733:19:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 987,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 981,
                  "name": "Ownable",
                  "nameLocations": [
                    "1725:7:16"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 415,
                  "src": "1725:7:16"
                },
                "nodeType": "ModifierInvocation",
                "src": "1725:28:16"
              },
              {
                "arguments": [
                  {
                    "id": 989,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 979,
                    "src": "1798:11:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 990,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 977,
                    "src": "1824:11:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "hexValue": "696f2e7769746e65742e70726f786961626c652e66656564732e7072696365",
                    "id": 991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1850:33:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_688a557b3c9b52d2ba2301577897f3d892372d2d9be386db46c3ca9048c47f0b",
                      "typeString": "literal_string \"io.witnet.proxiable.feeds.price\""
                    },
                    "value": "io.witnet.proxiable.feeds.price"
                  }
                ],
                "id": 992,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 988,
                  "name": "WitnetUpgradableBase",
                  "nameLocations": [
                    "1763:20:16"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 9373,
                  "src": "1763:20:16"
                },
                "nodeType": "ModifierInvocation",
                "src": "1763:131:16"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 980,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 975,
                  "mutability": "mutable",
                  "name": "_surrogate",
                  "nameLocation": "1629:10:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1031,
                  "src": "1621:18:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 974,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1621:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 977,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1662:11:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1031,
                  "src": "1654:19:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 976,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1654:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 979,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1693:11:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1031,
                  "src": "1688:16:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 978,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1688:4:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1606:109:16"
            },
            "returnParameters": {
              "id": 993,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1900:0:16"
            },
            "scope": 2294,
            "src": "1595:681:16",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45923
            ],
            "body": {
              "id": 1199,
              "nodeType": "Block",
              "src": "2697:1132:16",
              "statements": [
                {
                  "assignments": [
                    1039
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1039,
                      "mutability": "mutable",
                      "name": "_length",
                      "nameLocation": "2713:7:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1199,
                      "src": "2708:12:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 1038,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2708:4:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1044,
                  "initialValue": {
                    "expression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 1040,
                          "name": "__legacy",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2293,
                          "src": "2723:8:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 1041,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2723:10:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                        }
                      },
                      "id": 1042,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2734:3:16",
                      "memberName": "ids",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25146,
                      "src": "2723:14:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                        "typeString": "bytes4[] storage ref"
                      }
                    },
                    "id": 1043,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2738:6:16",
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "2723:21:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2708:36:16"
                },
                {
                  "body": {
                    "id": 1197,
                    "nodeType": "Block",
                    "src": "2793:1029:16",
                    "statements": [
                      {
                        "assignments": [
                          1055
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1055,
                            "mutability": "mutable",
                            "name": "_v2Id",
                            "nameLocation": "2883:5:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "2876:12:16",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            },
                            "typeName": {
                              "id": 1054,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "2876:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1061,
                        "initialValue": {
                          "baseExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 1056,
                                "name": "__legacy",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2293,
                                "src": "2891:8:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                }
                              },
                              "id": 1057,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2891:10:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                              }
                            },
                            "id": 1058,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2902:3:16",
                            "memberName": "ids",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25146,
                            "src": "2891:14:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                              "typeString": "bytes4[] storage ref"
                            }
                          },
                          "id": 1060,
                          "indexExpression": {
                            "id": 1059,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1046,
                            "src": "2906:3:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2891:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2876:34:16"
                      },
                      {
                        "assignments": [
                          1063
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1063,
                            "mutability": "mutable",
                            "name": "_captionV2",
                            "nameLocation": "2939:10:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "2925:24:16",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 1062,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "2925:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1070,
                        "initialValue": {
                          "expression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 1064,
                                  "name": "__legacy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2293,
                                  "src": "2952:8:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 1065,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2952:10:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 1066,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2963:7:16",
                              "memberName": "records",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25151,
                              "src": "2952:18:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                                "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                              }
                            },
                            "id": 1068,
                            "indexExpression": {
                              "id": 1067,
                              "name": "_v2Id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1055,
                              "src": "2971:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2952:25:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                            }
                          },
                          "id": 1069,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2978:7:16",
                          "memberName": "caption",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25154,
                          "src": "2952:33:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2925:60:16"
                      },
                      {
                        "assignments": [
                          1075
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1075,
                            "mutability": "mutable",
                            "name": "_slice",
                            "nameLocation": "3020:6:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "3000:26:16",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                              "typeString": "struct Slices.Slice"
                            },
                            "typeName": {
                              "id": 1074,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1073,
                                "name": "Slices.Slice",
                                "nameLocations": [
                                  "3000:6:16",
                                  "3007:5:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 32542,
                                "src": "3000:12:16"
                              },
                              "referencedDeclaration": 32542,
                              "src": "3000:12:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                                "typeString": "struct Slices.Slice"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1079,
                        "initialValue": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 1076,
                              "name": "_captionV2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1063,
                              "src": "3029:10:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "id": 1077,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3040:7:16",
                            "memberName": "toSlice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 32617,
                            "src": "3029:18:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (struct Slices.Slice memory)"
                            }
                          },
                          "id": 1078,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3029:20:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                            "typeString": "struct Slices.Slice memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3000:49:16"
                      },
                      {
                        "assignments": [
                          1084
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1084,
                            "mutability": "mutable",
                            "name": "_delim",
                            "nameLocation": "3084:6:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "3064:26:16",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                              "typeString": "struct Slices.Slice"
                            },
                            "typeName": {
                              "id": 1083,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1082,
                                "name": "Slices.Slice",
                                "nameLocations": [
                                  "3064:6:16",
                                  "3071:5:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 32542,
                                "src": "3064:12:16"
                              },
                              "referencedDeclaration": 32542,
                              "src": "3064:12:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                                "typeString": "struct Slices.Slice"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1091,
                        "initialValue": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "2d",
                                  "id": 1087,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3100:3:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561",
                                    "typeString": "literal_string \"-\""
                                  },
                                  "value": "-"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561",
                                    "typeString": "literal_string \"-\""
                                  }
                                ],
                                "id": 1086,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "3093:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                  "typeString": "type(string storage pointer)"
                                },
                                "typeName": {
                                  "id": 1085,
                                  "name": "string",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "3093:6:16",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 1088,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3093:11:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "id": 1089,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3105:7:16",
                            "memberName": "toSlice",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 32617,
                            "src": "3093:19:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (struct Slices.Slice memory)"
                            }
                          },
                          "id": 1090,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3093:21:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                            "typeString": "struct Slices.Slice memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3064:50:16"
                      },
                      {
                        "assignments": [
                          1096
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1096,
                            "mutability": "mutable",
                            "name": "_parts",
                            "nameLocation": "3145:6:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "3129:22:16",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                              "typeString": "string[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 1094,
                                "name": "string",
                                "nodeType": "ElementaryTypeName",
                                "src": "3129:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage_ptr",
                                  "typeString": "string"
                                }
                              },
                              "id": 1095,
                              "nodeType": "ArrayTypeName",
                              "src": "3129:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                                "typeString": "string[]"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1107,
                        "initialValue": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 1105,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "arguments": [
                                  {
                                    "id": 1102,
                                    "name": "_delim",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1084,
                                    "src": "3180:6:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "id": 1100,
                                    "name": "_slice",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1075,
                                    "src": "3167:6:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  },
                                  "id": 1101,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3174:5:16",
                                  "memberName": "count",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 34175,
                                  "src": "3167:12:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                                    "typeString": "function (struct Slices.Slice memory,struct Slices.Slice memory) pure returns (uint256)"
                                  }
                                },
                                "id": 1103,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3167:20:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "hexValue": "31",
                                "id": 1104,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3190:1:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "3167:24:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 1099,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "3154:12:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "function (uint256) pure returns (string memory[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 1097,
                                "name": "string",
                                "nodeType": "ElementaryTypeName",
                                "src": "3158:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage_ptr",
                                  "typeString": "string"
                                }
                              },
                              "id": 1098,
                              "nodeType": "ArrayTypeName",
                              "src": "3158:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                                "typeString": "string[]"
                              }
                            }
                          },
                          "id": 1106,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3154:38:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3129:63:16"
                      },
                      {
                        "body": {
                          "id": 1130,
                          "nodeType": "Block",
                          "src": "3255:80:16",
                          "statements": [
                            {
                              "expression": {
                                "id": 1128,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "baseExpression": {
                                    "id": 1119,
                                    "name": "_parts",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1096,
                                    "src": "3274:6:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "string memory[] memory"
                                    }
                                  },
                                  "id": 1121,
                                  "indexExpression": {
                                    "id": 1120,
                                    "name": "_px",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1109,
                                    "src": "3281:3:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "3274:11:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 1124,
                                          "name": "_delim",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1084,
                                          "src": "3301:6:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                            "typeString": "struct Slices.Slice memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                            "typeString": "struct Slices.Slice memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 1122,
                                          "name": "_slice",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1075,
                                          "src": "3288:6:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                            "typeString": "struct Slices.Slice memory"
                                          }
                                        },
                                        "id": 1123,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "3295:5:16",
                                        "memberName": "split",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 34022,
                                        "src": "3288:12:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                                          "typeString": "function (struct Slices.Slice memory,struct Slices.Slice memory) pure returns (struct Slices.Slice memory)"
                                        }
                                      },
                                      "id": 1125,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3288:20:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                        "typeString": "struct Slices.Slice memory"
                                      }
                                    },
                                    "id": 1126,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "3309:8:16",
                                    "memberName": "toString",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 32842,
                                    "src": "3288:29:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                                      "typeString": "function (struct Slices.Slice memory) pure returns (string memory)"
                                    }
                                  },
                                  "id": 1127,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3288:31:16",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "3274:45:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 1129,
                              "nodeType": "ExpressionStatement",
                              "src": "3274:45:16"
                            }
                          ]
                        },
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1115,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 1112,
                            "name": "_px",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1109,
                            "src": "3226:3:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "expression": {
                              "id": 1113,
                              "name": "_parts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1096,
                              "src": "3232:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 1114,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3239:6:16",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "3232:13:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3226:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 1131,
                        "initializationExpression": {
                          "assignments": [
                            1109
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 1109,
                              "mutability": "mutable",
                              "name": "_px",
                              "nameLocation": "3217:3:16",
                              "nodeType": "VariableDeclaration",
                              "scope": 1131,
                              "src": "3212:8:16",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 1108,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "3212:4:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 1111,
                          "initialValue": {
                            "hexValue": "30",
                            "id": 1110,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3223:1:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "3212:12:16"
                        },
                        "isSimpleCounterLoop": true,
                        "loopExpression": {
                          "expression": {
                            "id": 1117,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "3247:6:16",
                            "subExpression": {
                              "id": 1116,
                              "name": "_px",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1109,
                              "src": "3247:3:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 1118,
                          "nodeType": "ExpressionStatement",
                          "src": "3247:6:16"
                        },
                        "nodeType": "ForStatement",
                        "src": "3207:128:16"
                      },
                      {
                        "assignments": [
                          1133
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1133,
                            "mutability": "mutable",
                            "name": "_captionV3",
                            "nameLocation": "3363:10:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "3349:24:16",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 1132,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "3349:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1135,
                        "initialValue": {
                          "hexValue": "43727970746f2e",
                          "id": 1134,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3376:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_cd179939a87b4d164180868efa68f4db59375cbdcf8102dc5706b2ae6423712f",
                            "typeString": "literal_string \"Crypto.\""
                          },
                          "value": "Crypto."
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3349:36:16"
                      },
                      {
                        "body": {
                          "id": 1160,
                          "nodeType": "Block",
                          "src": "3448:158:16",
                          "statements": [
                            {
                              "expression": {
                                "id": 1158,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 1147,
                                  "name": "_captionV3",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1133,
                                  "src": "3467:10:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "id": 1152,
                                          "name": "_captionV3",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1133,
                                          "src": "3526:10:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        {
                                          "baseExpression": {
                                            "id": 1153,
                                            "name": "_parts",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1096,
                                            "src": "3559:6:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "string memory[] memory"
                                            }
                                          },
                                          "id": 1155,
                                          "indexExpression": {
                                            "id": 1154,
                                            "name": "_px",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1137,
                                            "src": "3566:3:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "3559:11:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 1150,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "3487:3:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 1151,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "3491:12:16",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "3487:16:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 1156,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3487:102:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 1149,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3480:6:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 1148,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "3480:6:16",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 1157,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3480:110:16",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "3467:123:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 1159,
                              "nodeType": "ExpressionStatement",
                              "src": "3467:123:16"
                            }
                          ]
                        },
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1143,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 1140,
                            "name": "_px",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1137,
                            "src": "3419:3:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "expression": {
                              "id": 1141,
                              "name": "_parts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1096,
                              "src": "3425:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 1142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3432:6:16",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "3425:13:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3419:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 1161,
                        "initializationExpression": {
                          "assignments": [
                            1137
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 1137,
                              "mutability": "mutable",
                              "name": "_px",
                              "nameLocation": "3410:3:16",
                              "nodeType": "VariableDeclaration",
                              "scope": 1161,
                              "src": "3405:8:16",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 1136,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "3405:4:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 1139,
                          "initialValue": {
                            "hexValue": "31",
                            "id": 1138,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3416:1:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "3405:12:16"
                        },
                        "isSimpleCounterLoop": true,
                        "loopExpression": {
                          "expression": {
                            "id": 1145,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "3440:6:16",
                            "subExpression": {
                              "id": 1144,
                              "name": "_px",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1137,
                              "src": "3440:3:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 1146,
                          "nodeType": "ExpressionStatement",
                          "src": "3440:6:16"
                        },
                        "nodeType": "ForStatement",
                        "src": "3400:206:16"
                      },
                      {
                        "assignments": [
                          1166
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1166,
                            "mutability": "mutable",
                            "name": "_v3Id",
                            "nameLocation": "3644:5:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1197,
                            "src": "3620:29:16",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                              "typeString": "IWitPriceFeedsTypes.ID4"
                            },
                            "typeName": {
                              "id": 1165,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1164,
                                "name": "IWitPriceFeedsTypes.ID4",
                                "nameLocations": [
                                  "3620:19:16",
                                  "3640:3:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 28155,
                                "src": "3620:23:16"
                              },
                              "referencedDeclaration": 28155,
                              "src": "3620:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                "typeString": "IWitPriceFeedsTypes.ID4"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1180,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "id": 1175,
                                          "name": "_captionV3",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1133,
                                          "src": "3704:10:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "id": 1174,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "3698:5:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                          "typeString": "type(bytes storage pointer)"
                                        },
                                        "typeName": {
                                          "id": 1173,
                                          "name": "bytes",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "3698:5:16",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 1176,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3698:17:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 1172,
                                    "name": "keccak256",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967288,
                                    "src": "3688:9:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                      "typeString": "function (bytes memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 1177,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3688:28:16",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 1171,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "3681:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes4_$",
                                  "typeString": "type(bytes4)"
                                },
                                "typeName": {
                                  "id": 1170,
                                  "name": "bytes4",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "3681:6:16",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 1178,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3681:36:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 1167,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "3652:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 1168,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3672:3:16",
                              "memberName": "ID4",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28155,
                              "src": "3652:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "type(IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 1169,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "3676:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "3652:28:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1179,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3652:66:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3620:98:16"
                      },
                      {
                        "expression": {
                          "id": 1187,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 1181,
                                  "name": "__bypass",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2282,
                                  "src": "3733:8:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                  }
                                },
                                "id": 1182,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3733:10:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                }
                              },
                              "id": 1183,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3744:5:16",
                              "memberName": "v2Ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 956,
                              "src": "3733:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_userDefinedValueType$_ID4_$28155_$_t_bytes4_$",
                                "typeString": "mapping(IWitPriceFeedsTypes.ID4 => bytes4)"
                              }
                            },
                            "id": 1185,
                            "indexExpression": {
                              "id": 1184,
                              "name": "_v3Id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1166,
                              "src": "3750:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                "typeString": "IWitPriceFeedsTypes.ID4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3733:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 1186,
                            "name": "_v2Id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1055,
                            "src": "3759:5:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "3733:31:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 1188,
                        "nodeType": "ExpressionStatement",
                        "src": "3733:31:16"
                      },
                      {
                        "expression": {
                          "id": 1195,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 1189,
                                  "name": "__bypass",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2282,
                                  "src": "3779:8:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                  }
                                },
                                "id": 1190,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3779:10:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                }
                              },
                              "id": 1191,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3790:5:16",
                              "memberName": "v3Ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 961,
                              "src": "3779:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 1193,
                            "indexExpression": {
                              "id": 1192,
                              "name": "_v2Id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1055,
                              "src": "3796:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3779:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                              "typeString": "IWitPriceFeedsTypes.ID4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 1194,
                            "name": "_v3Id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1166,
                            "src": "3805:5:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                              "typeString": "IWitPriceFeedsTypes.ID4"
                            }
                          },
                          "src": "3779:31:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "id": 1196,
                        "nodeType": "ExpressionStatement",
                        "src": "3779:31:16"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1050,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 1048,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1046,
                      "src": "2770:3:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "id": 1049,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1039,
                      "src": "2776:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2770:13:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1198,
                  "initializationExpression": {
                    "assignments": [
                      1046
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 1046,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "2765:3:16",
                        "nodeType": "VariableDeclaration",
                        "scope": 1198,
                        "src": "2760:8:16",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 1045,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2760:4:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 1047,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2760:8:16"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 1052,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": true,
                      "src": "2785:6:16",
                      "subExpression": {
                        "id": 1051,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1046,
                        "src": "2788:3:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 1053,
                    "nodeType": "ExpressionStatement",
                    "src": "2785:6:16"
                  },
                  "nodeType": "ForStatement",
                  "src": "2755:1067:16"
                }
              ]
            },
            "documentation": {
              "id": 1032,
              "nodeType": "StructuredDocumentation",
              "src": "2530:85:16",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy."
            },
            "id": 1200,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__initializeUpgradableData",
            "nameLocation": "2630:26:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1036,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2679:8:16"
            },
            "parameters": {
              "id": 1035,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1034,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1200,
                  "src": "2657:12:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1033,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2657:5:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2656:14:16"
            },
            "returnParameters": {
              "id": 1037,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2697:0:16"
            },
            "scope": 2294,
            "src": "2621:1208:16",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              9214
            ],
            "body": {
              "id": 1222,
              "nodeType": "Block",
              "src": "3995:226:16",
              "statements": [
                {
                  "assignments": [
                    1210
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1210,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "4014:6:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1222,
                      "src": "4006:14:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 1209,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4006:7:16",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1213,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1211,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1805
                      ],
                      "referencedDeclaration": 1805,
                      "src": "4023:5:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 1212,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4023:7:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4006:24:16"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1219,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 1214,
                            "name": "isUpgradable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45904,
                            "src": "4152:12:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 1215,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4152:14:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 1218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 1216,
                            "name": "_owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1210,
                            "src": "4187:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "id": 1217,
                            "name": "_from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1203,
                            "src": "4197:5:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4187:15:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4152:50:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 1220,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "4048:165:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1208,
                  "id": 1221,
                  "nodeType": "Return",
                  "src": "4041:172:16"
                }
              ]
            },
            "documentation": {
              "id": 1201,
              "nodeType": "StructuredDocumentation",
              "src": "3837:73:16",
              "text": "Tells whether provided address could eventually upgrade the contract."
            },
            "functionSelector": "6b58960a",
            "id": 1223,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isUpgradableFrom",
            "nameLocation": "3925:16:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1205,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3971:8:16"
            },
            "parameters": {
              "id": 1204,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1203,
                  "mutability": "mutable",
                  "name": "_from",
                  "nameLocation": "3950:5:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1223,
                  "src": "3942:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1202,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3942:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3941:15:16"
            },
            "returnParameters": {
              "id": 1208,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1207,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1223,
                  "src": "3989:4:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1206,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3989:4:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3988:6:16"
            },
            "scope": 2294,
            "src": "3916:305:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1232,
              "nodeType": "Block",
              "src": "4547:27:16",
              "statements": [
                {
                  "expression": {
                    "hexValue": "30",
                    "id": 1230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4565:1:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 1229,
                  "id": 1231,
                  "nodeType": "Return",
                  "src": "4558:8:16"
                }
              ]
            },
            "functionSelector": "c064d372",
            "id": 1233,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateUpdateBaseFee",
            "nameLocation": "4484:21:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1225,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1233,
                  "src": "4506:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1224,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4506:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4505:9:16"
            },
            "returnParameters": {
              "id": 1229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1228,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1233,
                  "src": "4538:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1227,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4538:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4537:9:16"
            },
            "scope": 2294,
            "src": "4475:99:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1242,
              "nodeType": "Block",
              "src": "4634:47:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1238,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "4652:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1239,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4662:9:16",
                      "memberName": "footprint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27751,
                      "src": "4652:19:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_bytes4_$",
                        "typeString": "function () view external returns (bytes4)"
                      }
                    },
                    "id": 1240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4652:21:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 1237,
                  "id": 1241,
                  "nodeType": "Return",
                  "src": "4645:28:16"
                }
              ]
            },
            "functionSelector": "8a416ea9",
            "id": 1243,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "footprint",
            "nameLocation": "4591:9:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4600:2:16"
            },
            "returnParameters": {
              "id": 1237,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1236,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1243,
                  "src": "4626:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1235,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4626:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4625:8:16"
            },
            "scope": 2294,
            "src": "4582:99:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1255,
              "nodeType": "Block",
              "src": "4757:66:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 1252,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1245,
                        "src": "4807:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 1250,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "4775:26:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 1251,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4802:4:16",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25263,
                      "src": "4775:31:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 1253,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4775:40:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 1249,
                  "id": 1254,
                  "nodeType": "Return",
                  "src": "4768:47:16"
                }
              ]
            },
            "functionSelector": "b411ee94",
            "id": 1256,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nameLocation": "4698:4:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1245,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "4717:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1256,
                  "src": "4703:21:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1244,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4703:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4702:23:16"
            },
            "returnParameters": {
              "id": 1249,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1248,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1256,
                  "src": "4749:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1247,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4749:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4748:8:16"
            },
            "scope": 2294,
            "src": "4689:134:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1290,
              "nodeType": "Block",
              "src": "4941:211:16",
              "statements": [
                {
                  "expression": {
                    "id": 1272,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1263,
                      "name": "_caption",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1261,
                      "src": "4952:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "id": 1269,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1258,
                              "src": "5025:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 1266,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "4996:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 1267,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5016:3:16",
                              "memberName": "ID4",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28155,
                              "src": "4996:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "type(IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 1268,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5020:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "4996:28:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1270,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4996:36:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        ],
                        "expression": {
                          "id": 1264,
                          "name": "surrogate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 948,
                          "src": "4963:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                            "typeString": "contract IWitPriceFeeds"
                          }
                        },
                        "id": 1265,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4973:22:16",
                        "memberName": "lookupPriceFeedCaption",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 27809,
                        "src": "4963:32:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_string_memory_ptr_$",
                          "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (string memory)"
                        }
                      },
                      "id": 1271,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4963:70:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "4952:81:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 1273,
                  "nodeType": "ExpressionStatement",
                  "src": "4952:81:16"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1280,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 1276,
                            "name": "_caption",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1261,
                            "src": "5054:8:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "5048:5:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                            "typeString": "type(bytes storage pointer)"
                          },
                          "typeName": {
                            "id": 1274,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "5048:5:16",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 1277,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5048:15:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 1278,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5064:6:16",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5048:22:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 1279,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5074:1:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5048:27:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1289,
                  "nodeType": "IfStatement",
                  "src": "5044:101:16",
                  "trueBody": {
                    "id": 1288,
                    "nodeType": "Block",
                    "src": "5077:68:16",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 1281,
                                  "name": "__legacy",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2293,
                                  "src": "5099:8:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 1282,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5099:10:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 1283,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5110:7:16",
                              "memberName": "records",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25151,
                              "src": "5099:18:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                                "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                              }
                            },
                            "id": 1285,
                            "indexExpression": {
                              "id": 1284,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1258,
                              "src": "5118:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5099:26:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                            }
                          },
                          "id": 1286,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5126:7:16",
                          "memberName": "caption",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25154,
                          "src": "5099:34:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "functionReturnParameters": 1262,
                        "id": 1287,
                        "nodeType": "Return",
                        "src": "5092:41:16"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "ef1dff2b",
            "id": 1291,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupCaption",
            "nameLocation": "4844:13:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1259,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1258,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "4865:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1291,
                  "src": "4858:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1257,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4858:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4857:15:16"
            },
            "returnParameters": {
              "id": 1262,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1261,
                  "mutability": "mutable",
                  "name": "_caption",
                  "nameLocation": "4926:8:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1291,
                  "src": "4912:22:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1260,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4912:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4911:24:16"
            },
            "scope": 2294,
            "src": "4835:317:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1454,
              "nodeType": "Block",
              "src": "5308:884:16",
              "statements": [
                {
                  "assignments": [
                    1308
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1308,
                      "mutability": "mutable",
                      "name": "_pfs",
                      "nameLocation": "5348:4:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1454,
                      "src": "5319:33:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 1306,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 1305,
                            "name": "IWitPriceFeeds.Info",
                            "nameLocations": [
                              "5319:14:16",
                              "5334:4:16"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 28125,
                            "src": "5319:19:16"
                          },
                          "referencedDeclaration": 28125,
                          "src": "5319:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Info_$28125_storage_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Info"
                          }
                        },
                        "id": 1307,
                        "nodeType": "ArrayTypeName",
                        "src": "5319:21:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Info_$28125_storage_$dyn_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1312,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1309,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "5355:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1310,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5365:16:16",
                      "memberName": "lookupPriceFeeds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27833,
                      "src": "5355:26:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function () view external returns (struct IWitPriceFeedsTypes.Info memory[] memory)"
                      }
                    },
                    "id": 1311,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5355:28:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5319:64:16"
                },
                {
                  "expression": {
                    "id": 1320,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1313,
                      "name": "_ids",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1295,
                      "src": "5394:4:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 1317,
                            "name": "_pfs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1308,
                            "src": "5414:4:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                            }
                          },
                          "id": 1318,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5419:6:16",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "5414:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 1316,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "5401:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes4[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 1314,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "5405:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "id": 1315,
                          "nodeType": "ArrayTypeName",
                          "src": "5405:8:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                            "typeString": "bytes4[]"
                          }
                        }
                      },
                      "id": 1319,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5401:25:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "src": "5394:32:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "id": 1321,
                  "nodeType": "ExpressionStatement",
                  "src": "5394:32:16"
                },
                {
                  "expression": {
                    "id": 1329,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1322,
                      "name": "_captions",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "5437:9:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 1326,
                            "name": "_pfs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1308,
                            "src": "5462:4:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                            }
                          },
                          "id": 1327,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5467:6:16",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "5462:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 1325,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "5449:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (string memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 1323,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "5453:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 1324,
                          "nodeType": "ArrayTypeName",
                          "src": "5453:8:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                            "typeString": "string[]"
                          }
                        }
                      },
                      "id": 1328,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5449:25:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "5437:37:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 1330,
                  "nodeType": "ExpressionStatement",
                  "src": "5437:37:16"
                },
                {
                  "expression": {
                    "id": 1338,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 1331,
                      "name": "_solvers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1301,
                      "src": "5485:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 1335,
                            "name": "_pfs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1308,
                            "src": "5510:4:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                            }
                          },
                          "id": 1336,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5515:6:16",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "5510:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 1334,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "5496:13:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes32[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 1332,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "5500:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 1333,
                          "nodeType": "ArrayTypeName",
                          "src": "5500:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                            "typeString": "bytes32[]"
                          }
                        }
                      },
                      "id": 1337,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5496:26:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "src": "5485:37:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                      "typeString": "bytes32[] memory"
                    }
                  },
                  "id": 1339,
                  "nodeType": "ExpressionStatement",
                  "src": "5485:37:16"
                },
                {
                  "body": {
                    "id": 1452,
                    "nodeType": "Block",
                    "src": "5575:610:16",
                    "statements": [
                      {
                        "assignments": [
                          1354
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1354,
                            "mutability": "mutable",
                            "name": "_v3Id",
                            "nameLocation": "5614:5:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1452,
                            "src": "5590:29:16",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                              "typeString": "IWitPriceFeedsTypes.ID4"
                            },
                            "typeName": {
                              "id": 1353,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1352,
                                "name": "IWitPriceFeedsTypes.ID4",
                                "nameLocations": [
                                  "5590:19:16",
                                  "5610:3:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 28155,
                                "src": "5590:23:16"
                              },
                              "referencedDeclaration": 28155,
                              "src": "5590:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                "typeString": "IWitPriceFeedsTypes.ID4"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1371,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "components": [
                                    {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "baseExpression": {
                                              "id": 1363,
                                              "name": "_pfs",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 1308,
                                              "src": "5678:4:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                              }
                                            },
                                            "id": 1365,
                                            "indexExpression": {
                                              "id": 1364,
                                              "name": "_ix",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 1341,
                                              "src": "5683:3:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "5678:9:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                              "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                            }
                                          },
                                          "id": 1366,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "5688:2:16",
                                          "memberName": "id",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 28108,
                                          "src": "5678:12:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_userDefinedValueType$_ID_$29561",
                                            "typeString": "IWitPyth.ID"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_userDefinedValueType$_ID_$29561",
                                            "typeString": "IWitPyth.ID"
                                          }
                                        ],
                                        "expression": {
                                          "expression": {
                                            "id": 1360,
                                            "name": "IWitPyth",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 29643,
                                            "src": "5659:8:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IWitPyth_$29643_$",
                                              "typeString": "type(contract IWitPyth)"
                                            }
                                          },
                                          "id": 1361,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "5668:2:16",
                                          "memberName": "ID",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 29561,
                                          "src": "5659:11:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_userDefinedValueType$_ID_$29561_$",
                                            "typeString": "type(IWitPyth.ID)"
                                          }
                                        },
                                        "id": 1362,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "5671:6:16",
                                        "memberName": "unwrap",
                                        "nodeType": "MemberAccess",
                                        "src": "5659:18:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ID_$29561_$returns$_t_bytes32_$",
                                          "typeString": "function (IWitPyth.ID) pure returns (bytes32)"
                                        }
                                      },
                                      "id": 1367,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5659:32:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "id": 1368,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "5658:34:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 1359,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "5651:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes4_$",
                                  "typeString": "type(bytes4)"
                                },
                                "typeName": {
                                  "id": 1358,
                                  "name": "bytes4",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "5651:6:16",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 1369,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5651:42:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 1355,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "5622:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 1356,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5642:3:16",
                              "memberName": "ID4",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28155,
                              "src": "5622:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "type(IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 1357,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5646:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "5622:28:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1370,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5622:72:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5590:104:16"
                      },
                      {
                        "expression": {
                          "id": 1397,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 1372,
                              "name": "_ids",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1295,
                              "src": "5709:4:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                "typeString": "bytes4[] memory"
                              }
                            },
                            "id": 1374,
                            "indexExpression": {
                              "id": 1373,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1341,
                              "src": "5714:3:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "5709:9:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "components": [
                              {
                                "condition": {
                                  "commonType": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  },
                                  "id": 1384,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "baseExpression": {
                                      "expression": {
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "id": 1375,
                                          "name": "__bypass",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2282,
                                          "src": "5722:8:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                            "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                          }
                                        },
                                        "id": 1376,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5722:10:16",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                          "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                        }
                                      },
                                      "id": 1377,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "5733:5:16",
                                      "memberName": "v2Ids",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 956,
                                      "src": "5722:16:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_userDefinedValueType$_ID4_$28155_$_t_bytes4_$",
                                        "typeString": "mapping(IWitPriceFeedsTypes.ID4 => bytes4)"
                                      }
                                    },
                                    "id": 1379,
                                    "indexExpression": {
                                      "id": 1378,
                                      "name": "_v3Id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1354,
                                      "src": "5739:5:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                        "typeString": "IWitPriceFeedsTypes.ID4"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5722:23:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "30",
                                        "id": 1382,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "5756:1:16",
                                        "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": 1381,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5749:6:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes4_$",
                                        "typeString": "type(bytes4)"
                                      },
                                      "typeName": {
                                        "id": 1380,
                                        "name": "bytes4",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5749:6:16",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 1383,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5749:9:16",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "src": "5722:36:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "baseExpression": {
                                    "expression": {
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "id": 1390,
                                        "name": "__bypass",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2282,
                                        "src": "5801:8:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                          "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                        }
                                      },
                                      "id": 1391,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5801:10:16",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                        "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                      }
                                    },
                                    "id": 1392,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "5812:5:16",
                                    "memberName": "v2Ids",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 956,
                                    "src": "5801:16:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_userDefinedValueType$_ID4_$28155_$_t_bytes4_$",
                                      "typeString": "mapping(IWitPriceFeedsTypes.ID4 => bytes4)"
                                    }
                                  },
                                  "id": 1394,
                                  "indexExpression": {
                                    "id": 1393,
                                    "name": "_v3Id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1354,
                                    "src": "5818:5:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                      "typeString": "IWitPriceFeedsTypes.ID4"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "5801:23:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "id": 1395,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "5722:102:16",
                                "trueExpression": {
                                  "arguments": [
                                    {
                                      "id": 1388,
                                      "name": "_v3Id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1354,
                                      "src": "5792:5:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                        "typeString": "IWitPriceFeedsTypes.ID4"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                        "typeString": "IWitPriceFeedsTypes.ID4"
                                      }
                                    ],
                                    "expression": {
                                      "expression": {
                                        "id": 1385,
                                        "name": "IWitPriceFeedsTypes",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 28156,
                                        "src": "5761:19:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                          "typeString": "type(contract IWitPriceFeedsTypes)"
                                        }
                                      },
                                      "id": 1386,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "5781:3:16",
                                      "memberName": "ID4",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 28155,
                                      "src": "5761:23:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                        "typeString": "type(IWitPriceFeedsTypes.ID4)"
                                      }
                                    },
                                    "id": 1387,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "5785:6:16",
                                    "memberName": "unwrap",
                                    "nodeType": "MemberAccess",
                                    "src": "5761:30:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ID4_$28155_$returns$_t_bytes4_$",
                                      "typeString": "function (IWitPriceFeedsTypes.ID4) pure returns (bytes4)"
                                    }
                                  },
                                  "id": 1389,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "5761:37:16",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "id": 1396,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5721:104:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "5709:116:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 1398,
                        "nodeType": "ExpressionStatement",
                        "src": "5709:116:16"
                      },
                      {
                        "expression": {
                          "id": 1406,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 1399,
                              "name": "_captions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1298,
                              "src": "5840:9:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 1401,
                            "indexExpression": {
                              "id": 1400,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1341,
                              "src": "5850:3:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "5840:14:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 1402,
                                "name": "_pfs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1308,
                                "src": "5857:4:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                }
                              },
                              "id": 1404,
                              "indexExpression": {
                                "id": 1403,
                                "name": "_ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1341,
                                "src": "5862:3:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5857:9:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                "typeString": "struct IWitPriceFeedsTypes.Info memory"
                              }
                            },
                            "id": 1405,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5867:6:16",
                            "memberName": "symbol",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28112,
                            "src": "5857:16:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "5840:33:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 1407,
                        "nodeType": "ExpressionStatement",
                        "src": "5840:33:16"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_Mappers_$28087",
                            "typeString": "enum IWitPriceFeedsTypes.Mappers"
                          },
                          "id": 1416,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "expression": {
                                "baseExpression": {
                                  "id": 1408,
                                  "name": "_pfs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1308,
                                  "src": "5892:4:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                  }
                                },
                                "id": 1410,
                                "indexExpression": {
                                  "id": 1409,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1341,
                                  "src": "5897:3:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5892:9:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                }
                              },
                              "id": 1411,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5902:6:16",
                              "memberName": "mapper",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28115,
                              "src": "5892:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Mapper_$28132_memory_ptr",
                                "typeString": "struct IWitPriceFeedsTypes.Mapper memory"
                              }
                            },
                            "id": 1412,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5909:5:16",
                            "memberName": "class",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28128,
                            "src": "5892:22:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Mappers_$28087",
                              "typeString": "enum IWitPriceFeedsTypes.Mappers"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 1413,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "5918:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 1414,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5938:7:16",
                              "memberName": "Mappers",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28087,
                              "src": "5918:27:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Mappers_$28087_$",
                                "typeString": "type(enum IWitPriceFeedsTypes.Mappers)"
                              }
                            },
                            "id": 1415,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5946:4:16",
                            "memberName": "None",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28082,
                            "src": "5918:32:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Mappers_$28087",
                              "typeString": "enum IWitPriceFeedsTypes.Mappers"
                            }
                          },
                          "src": "5892:58:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 1451,
                        "nodeType": "IfStatement",
                        "src": "5888:286:16",
                        "trueBody": {
                          "id": 1450,
                          "nodeType": "Block",
                          "src": "5952:222:16",
                          "statements": [
                            {
                              "expression": {
                                "id": 1448,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "baseExpression": {
                                    "id": 1417,
                                    "name": "_solvers",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1301,
                                    "src": "5971:8:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 1419,
                                  "indexExpression": {
                                    "id": 1418,
                                    "name": "_ix",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1341,
                                    "src": "5980:3:16",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5971:13:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "condition": {
                                        "commonType": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        "id": 1429,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "expression": {
                                            "expression": {
                                              "baseExpression": {
                                                "id": 1420,
                                                "name": "_pfs",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1308,
                                                "src": "5988:4:16",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                                  "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                                }
                                              },
                                              "id": 1422,
                                              "indexExpression": {
                                                "id": 1421,
                                                "name": "_ix",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1341,
                                                "src": "5993:3:16",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "nodeType": "IndexAccess",
                                              "src": "5988:9:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                                "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                              }
                                            },
                                            "id": 1423,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "5998:6:16",
                                            "memberName": "oracle",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 28118,
                                            "src": "5988:16:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                                              "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                                            }
                                          },
                                          "id": 1424,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6005:7:16",
                                          "memberName": "sources",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 28139,
                                          "src": "5988:24:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                          "arguments": [
                                            {
                                              "hexValue": "30",
                                              "id": 1427,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "6024:1:16",
                                              "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": 1426,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "6016:7:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_bytes32_$",
                                              "typeString": "type(bytes32)"
                                            },
                                            "typeName": {
                                              "id": 1425,
                                              "name": "bytes32",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "6016:7:16",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 1428,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "6016:10:16",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "src": "5988:38:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "falseExpression": {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "expression": {
                                                  "expression": {
                                                    "baseExpression": {
                                                      "id": 1439,
                                                      "name": "_pfs",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 1308,
                                                      "src": "6114:4:16",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                                        "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                                      }
                                                    },
                                                    "id": 1441,
                                                    "indexExpression": {
                                                      "id": 1440,
                                                      "name": "_ix",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 1341,
                                                      "src": "6119:3:16",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "6114:9:16",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                                      "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                                    }
                                                  },
                                                  "id": 1442,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "6124:6:16",
                                                  "memberName": "oracle",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 28118,
                                                  "src": "6114:16:16",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                                                    "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                                                  }
                                                },
                                                "id": 1443,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "6131:6:16",
                                                "memberName": "target",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 28137,
                                                "src": "6114:23:16",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                }
                                              ],
                                              "id": 1438,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "6106:7:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_bytes20_$",
                                                "typeString": "type(bytes20)"
                                              },
                                              "typeName": {
                                                "id": 1437,
                                                "name": "bytes20",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "6106:7:16",
                                                "typeDescriptions": {}
                                              }
                                            },
                                            "id": 1444,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "6106:32:16",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes20",
                                              "typeString": "bytes20"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes20",
                                              "typeString": "bytes20"
                                            }
                                          ],
                                          "id": 1436,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6098:7:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes32_$",
                                            "typeString": "type(bytes32)"
                                          },
                                          "typeName": {
                                            "id": 1435,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6098:7:16",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 1445,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6098:41:16",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "id": 1446,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "Conditional",
                                      "src": "5988:151:16",
                                      "trueExpression": {
                                        "expression": {
                                          "expression": {
                                            "baseExpression": {
                                              "id": 1430,
                                              "name": "_pfs",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 1308,
                                              "src": "6050:4:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                                              }
                                            },
                                            "id": 1432,
                                            "indexExpression": {
                                              "id": 1431,
                                              "name": "_ix",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 1341,
                                              "src": "6055:3:16",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "6050:9:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                              "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                            }
                                          },
                                          "id": 1433,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6060:6:16",
                                          "memberName": "oracle",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 28118,
                                          "src": "6050:16:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                                            "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                                          }
                                        },
                                        "id": 1434,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6067:7:16",
                                        "memberName": "sources",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 28139,
                                        "src": "6050:24:16",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    }
                                  ],
                                  "id": 1447,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "5987:171:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "5971:187:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 1449,
                              "nodeType": "ExpressionStatement",
                              "src": "5971:187:16"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1346,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 1343,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1341,
                      "src": "5548:3:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 1344,
                        "name": "_pfs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1308,
                        "src": "5554:4:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                        }
                      },
                      "id": 1345,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5559:6:16",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5554:11:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5548:17:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1453,
                  "initializationExpression": {
                    "assignments": [
                      1341
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 1341,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "5543:3:16",
                        "nodeType": "VariableDeclaration",
                        "scope": 1453,
                        "src": "5538:8:16",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 1340,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5538:4:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 1342,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5538:8:16"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 1348,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": true,
                      "src": "5567:6:16",
                      "subExpression": {
                        "id": 1347,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1341,
                        "src": "5570:3:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 1349,
                    "nodeType": "ExpressionStatement",
                    "src": "5567:6:16"
                  },
                  "nodeType": "ForStatement",
                  "src": "5533:652:16"
                }
              ]
            },
            "functionSelector": "0306732e",
            "id": 1455,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportedFeeds",
            "nameLocation": "5169:14:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1292,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5183:2:16"
            },
            "returnParameters": {
              "id": 1302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1295,
                  "mutability": "mutable",
                  "name": "_ids",
                  "nameLocation": "5243:4:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1455,
                  "src": "5227:20:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1293,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "5227:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 1294,
                    "nodeType": "ArrayTypeName",
                    "src": "5227:8:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1298,
                  "mutability": "mutable",
                  "name": "_captions",
                  "nameLocation": "5265:9:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1455,
                  "src": "5249:25:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1296,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "5249:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 1297,
                    "nodeType": "ArrayTypeName",
                    "src": "5249:8:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1301,
                  "mutability": "mutable",
                  "name": "_solvers",
                  "nameLocation": "5293:8:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1455,
                  "src": "5276:25:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1299,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "5276:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 1300,
                    "nodeType": "ArrayTypeName",
                    "src": "5276:9:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5226:76:16"
            },
            "scope": 2294,
            "src": "5160:1032:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1467,
              "nodeType": "Block",
              "src": "6283:60:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 1464,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1457,
                        "src": "6327:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "expression": {
                        "id": 1462,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "6301:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1463,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6311:15:16",
                      "memberName": "supportsCaption",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27841,
                      "src": "6301:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory) view external returns (bool)"
                      }
                    },
                    "id": 1465,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6301:34:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1461,
                  "id": 1466,
                  "nodeType": "Return",
                  "src": "6294:41:16"
                }
              ]
            },
            "functionSelector": "c5010d17",
            "id": 1468,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportsCaption",
            "nameLocation": "6213:15:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1457,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "6245:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1468,
                  "src": "6229:23:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1456,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6229:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6228:25:16"
            },
            "returnParameters": {
              "id": 1461,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1460,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1468,
                  "src": "6277:4:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1459,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6277:4:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6276:6:16"
            },
            "scope": 2294,
            "src": "6204:139:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1478,
              "nodeType": "Block",
              "src": "6429:61:16",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 1473,
                          "name": "surrogate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 948,
                          "src": "6447:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                            "typeString": "contract IWitPriceFeeds"
                          }
                        },
                        "id": 1474,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6457:16:16",
                        "memberName": "lookupPriceFeeds",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 27833,
                        "src": "6447:26:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function () view external returns (struct IWitPriceFeedsTypes.Info memory[] memory)"
                        }
                      },
                      "id": 1475,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6447:28:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info memory[] memory"
                      }
                    },
                    "id": 1476,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "6476:6:16",
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "6447:35:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1472,
                  "id": 1477,
                  "nodeType": "Return",
                  "src": "6440:42:16"
                }
              ]
            },
            "functionSelector": "d6a3614f",
            "id": 1479,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalFeeds",
            "nameLocation": "6360:10:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1469,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6370:2:16"
            },
            "returnParameters": {
              "id": 1472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1471,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1479,
                  "src": "6415:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1470,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6415:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6414:9:16"
            },
            "scope": 2294,
            "src": "6351:139:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1488,
              "nodeType": "Block",
              "src": "6587:27:16",
              "statements": [
                {
                  "expression": {
                    "hexValue": "30",
                    "id": 1486,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6605:1:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 1485,
                  "id": 1487,
                  "nodeType": "Return",
                  "src": "6598:8:16"
                }
              ]
            },
            "functionSelector": "029db958",
            "id": 1489,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryId",
            "nameLocation": "6507:16:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1482,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1481,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1489,
                  "src": "6524:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1480,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6524:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6523:8:16"
            },
            "returnParameters": {
              "id": 1485,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1484,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1489,
                  "src": "6573:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1483,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6573:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6572:9:16"
            },
            "scope": 2294,
            "src": "6498:116:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1497,
              "nodeType": "Block",
              "src": "6737:2:16",
              "statements": []
            },
            "functionSelector": "cfae6929",
            "id": 1498,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryResponse",
            "nameLocation": "6631:22:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1491,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1498,
                  "src": "6654:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1490,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6654:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6653:8:16"
            },
            "returnParameters": {
              "id": 1496,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1495,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1498,
                  "src": "6703:27:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 1494,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1493,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "6703:6:16",
                        "6710:13:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "6703:20:16"
                    },
                    "referencedDeclaration": 37365,
                    "src": "6703:20:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6702:29:16"
            },
            "scope": 2294,
            "src": "6622:117:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1507,
              "nodeType": "Block",
              "src": "6839:27:16",
              "statements": [
                {
                  "expression": {
                    "hexValue": "30",
                    "id": 1505,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6857:1:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 1504,
                  "id": 1506,
                  "nodeType": "Return",
                  "src": "6850:8:16"
                }
              ]
            },
            "functionSelector": "5be93984",
            "id": 1508,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryId",
            "nameLocation": "6756:19:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1501,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1500,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1508,
                  "src": "6776:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1499,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6776:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6775:8:16"
            },
            "returnParameters": {
              "id": 1504,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1503,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1508,
                  "src": "6825:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1502,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6825:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6824:9:16"
            },
            "scope": 2294,
            "src": "6747:119:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1516,
              "nodeType": "Block",
              "src": "6996:2:16",
              "statements": []
            },
            "functionSelector": "5c0d9d80",
            "id": 1517,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryRequest",
            "nameLocation": "6883:24:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1510,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1517,
                  "src": "6908:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1509,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "6908:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6907:8:16"
            },
            "returnParameters": {
              "id": 1515,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1514,
                  "mutability": "mutable",
                  "name": "_void",
                  "nameLocation": "6984:5:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1517,
                  "src": "6957:32:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryRequest_$37351_memory_ptr",
                    "typeString": "struct Witnet.QueryRequest"
                  },
                  "typeName": {
                    "id": 1513,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1512,
                      "name": "Witnet.QueryRequest",
                      "nameLocations": [
                        "6957:6:16",
                        "6964:12:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37351,
                      "src": "6957:19:16"
                    },
                    "referencedDeclaration": 37351,
                    "src": "6957:19:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryRequest_$37351_storage_ptr",
                      "typeString": "struct Witnet.QueryRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6956:34:16"
            },
            "scope": 2294,
            "src": "6874:124:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1571,
              "nodeType": "Block",
              "src": "7111:406:16",
              "statements": [
                {
                  "assignments": [
                    1528
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1528,
                      "mutability": "mutable",
                      "name": "_info",
                      "nameLocation": "7149:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1571,
                      "src": "7122:32:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info"
                      },
                      "typeName": {
                        "id": 1527,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 1526,
                          "name": "IWitPriceFeeds.Info",
                          "nameLocations": [
                            "7122:14:16",
                            "7137:4:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28125,
                          "src": "7122:19:16"
                        },
                        "referencedDeclaration": 28125,
                        "src": "7122:19:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Info_$28125_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1537,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 1534,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1519,
                            "src": "7212:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 1531,
                              "name": "IWitPriceFeedsTypes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28156,
                              "src": "7183:19:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                "typeString": "type(contract IWitPriceFeedsTypes)"
                              }
                            },
                            "id": 1532,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7203:3:16",
                            "memberName": "ID4",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28155,
                            "src": "7183:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "type(IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1533,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "7207:4:16",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "7183:28:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                            "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                          }
                        },
                        "id": 1535,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7183:36:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 1529,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "7157:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1530,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7167:15:16",
                      "memberName": "lookupPriceFeed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27801,
                      "src": "7157:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Info_$28125_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Info memory)"
                      }
                    },
                    "id": 1536,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7157:63:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Info memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7122:98:16"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Oracles_$28092",
                      "typeString": "enum IWitPriceFeedsTypes.Oracles"
                    },
                    "id": 1544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 1538,
                          "name": "_info",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1528,
                          "src": "7235:5:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Info memory"
                          }
                        },
                        "id": 1539,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7241:6:16",
                        "memberName": "oracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28118,
                        "src": "7235:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                        }
                      },
                      "id": 1540,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7248:5:16",
                      "memberName": "class",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28135,
                      "src": "7235:18:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 1541,
                          "name": "IWitPriceFeedsTypes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28156,
                          "src": "7257:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                            "typeString": "type(contract IWitPriceFeedsTypes)"
                          }
                        },
                        "id": 1542,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7277:7:16",
                        "memberName": "Oracles",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28092,
                        "src": "7257:27:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Oracles_$28092_$",
                          "typeString": "type(enum IWitPriceFeedsTypes.Oracles)"
                        }
                      },
                      "id": 1543,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "7285:6:16",
                      "memberName": "Witnet",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28088,
                      "src": "7257:34:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "src": "7235:56:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 1569,
                    "nodeType": "Block",
                    "src": "7464:46:16",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 1566,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7496:1:16",
                              "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": 1565,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "7486:9:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (uint256) pure returns (bytes memory)"
                            },
                            "typeName": {
                              "id": 1564,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "7490:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            }
                          },
                          "id": 1567,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7486:12:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "functionReturnParameters": 1523,
                        "id": 1568,
                        "nodeType": "Return",
                        "src": "7479:19:16"
                      }
                    ]
                  },
                  "id": 1570,
                  "nodeType": "IfStatement",
                  "src": "7231:279:16",
                  "trueBody": {
                    "id": 1563,
                    "nodeType": "Block",
                    "src": "7293:165:16",
                    "statements": [
                      {
                        "assignments": [
                          1549
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1549,
                            "mutability": "mutable",
                            "name": "_radHash",
                            "nameLocation": "7325:8:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1563,
                            "src": "7308:25:16",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            },
                            "typeName": {
                              "id": 1548,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1547,
                                "name": "Witnet.RadonHash",
                                "nameLocations": [
                                  "7308:6:16",
                                  "7315:9:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 37153,
                                "src": "7308:16:16"
                              },
                              "referencedDeclaration": 37153,
                              "src": "7308:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1557,
                        "initialValue": {
                          "arguments": [
                            {
                              "expression": {
                                "expression": {
                                  "id": 1553,
                                  "name": "_info",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1528,
                                  "src": "7358:5:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                  }
                                },
                                "id": 1554,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "7364:6:16",
                                "memberName": "oracle",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28118,
                                "src": "7358:12:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                                }
                              },
                              "id": 1555,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7371:7:16",
                              "memberName": "sources",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28139,
                              "src": "7358:20:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 1550,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "7336:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 1551,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7343:9:16",
                              "memberName": "RadonHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37153,
                              "src": "7336:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                "typeString": "type(Witnet.RadonHash)"
                              }
                            },
                            "id": 1552,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "7353:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "7336:21:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                            }
                          },
                          "id": 1556,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7336:43:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                            "typeString": "Witnet.RadonHash"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7308:71:16"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 1560,
                              "name": "_radHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1549,
                              "src": "7437:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            ],
                            "expression": {
                              "id": 1558,
                              "name": "registry",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 951,
                              "src": "7401:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                                "typeString": "contract IWitOracleRadonRegistry"
                              }
                            },
                            "id": 1559,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7410:26:16",
                            "memberName": "lookupRadonRequestBytecode",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 27203,
                            "src": "7401:35:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (Witnet.RadonHash) view external returns (bytes memory)"
                            }
                          },
                          "id": 1561,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7401:45:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "functionReturnParameters": 1523,
                        "id": 1562,
                        "nodeType": "Return",
                        "src": "7394:52:16"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "4efef9c0",
            "id": 1572,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetBytecode",
            "nameLocation": "7015:20:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1519,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7043:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1572,
                  "src": "7036:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1518,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7036:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7035:15:16"
            },
            "returnParameters": {
              "id": 1523,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1522,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1572,
                  "src": "7092:12:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1521,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "7092:5:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7091:14:16"
            },
            "scope": 2294,
            "src": "7006:511:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1612,
              "nodeType": "Block",
              "src": "7630:293:16",
              "statements": [
                {
                  "assignments": [
                    1583
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1583,
                      "mutability": "mutable",
                      "name": "_info",
                      "nameLocation": "7668:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1612,
                      "src": "7641:32:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info"
                      },
                      "typeName": {
                        "id": 1582,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 1581,
                          "name": "IWitPriceFeeds.Info",
                          "nameLocations": [
                            "7641:14:16",
                            "7656:4:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28125,
                          "src": "7641:19:16"
                        },
                        "referencedDeclaration": 28125,
                        "src": "7641:19:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Info_$28125_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1592,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 1589,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1574,
                            "src": "7731:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 1586,
                              "name": "IWitPriceFeedsTypes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28156,
                              "src": "7702:19:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                "typeString": "type(contract IWitPriceFeedsTypes)"
                              }
                            },
                            "id": 1587,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7722:3:16",
                            "memberName": "ID4",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28155,
                            "src": "7702:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "type(IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1588,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "7726:4:16",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "7702:28:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                            "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                          }
                        },
                        "id": 1590,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7702:36:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 1584,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "7676:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1585,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7686:15:16",
                      "memberName": "lookupPriceFeed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27801,
                      "src": "7676:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Info_$28125_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Info memory)"
                      }
                    },
                    "id": 1591,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7676:63:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Info memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7641:98:16"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Oracles_$28092",
                      "typeString": "enum IWitPriceFeedsTypes.Oracles"
                    },
                    "id": 1599,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 1593,
                          "name": "_info",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1583,
                          "src": "7754:5:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Info memory"
                          }
                        },
                        "id": 1594,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7760:6:16",
                        "memberName": "oracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28118,
                        "src": "7754:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                        }
                      },
                      "id": 1595,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7767:5:16",
                      "memberName": "class",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28135,
                      "src": "7754:18:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 1596,
                          "name": "IWitPriceFeedsTypes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28156,
                          "src": "7776:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                            "typeString": "type(contract IWitPriceFeedsTypes)"
                          }
                        },
                        "id": 1597,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "7796:7:16",
                        "memberName": "Oracles",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28092,
                        "src": "7776:27:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Oracles_$28092_$",
                          "typeString": "type(enum IWitPriceFeedsTypes.Oracles)"
                        }
                      },
                      "id": 1598,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "7804:6:16",
                      "memberName": "Witnet",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28088,
                      "src": "7776:34:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "src": "7754:56:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 1610,
                    "nodeType": "Block",
                    "src": "7872:44:16",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 1607,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7902:1:16",
                              "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": 1606,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7894:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes32_$",
                              "typeString": "type(bytes32)"
                            },
                            "typeName": {
                              "id": 1605,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "7894:7:16",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 1608,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7894:10:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 1578,
                        "id": 1609,
                        "nodeType": "Return",
                        "src": "7887:17:16"
                      }
                    ]
                  },
                  "id": 1611,
                  "nodeType": "IfStatement",
                  "src": "7750:166:16",
                  "trueBody": {
                    "id": 1604,
                    "nodeType": "Block",
                    "src": "7812:54:16",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "expression": {
                              "id": 1600,
                              "name": "_info",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1583,
                              "src": "7834:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                "typeString": "struct IWitPriceFeedsTypes.Info memory"
                              }
                            },
                            "id": 1601,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7840:6:16",
                            "memberName": "oracle",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28118,
                            "src": "7834:12:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                              "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                            }
                          },
                          "id": 1602,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7847:7:16",
                          "memberName": "sources",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 28139,
                          "src": "7834:20:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 1578,
                        "id": 1603,
                        "nodeType": "Return",
                        "src": "7827:27:16"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "8df3fdfd",
            "id": 1613,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRadHash",
            "nameLocation": "7534:19:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1575,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1574,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7561:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1613,
                  "src": "7554:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1573,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7554:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7553:15:16"
            },
            "returnParameters": {
              "id": 1578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1577,
                  "mutability": "mutable",
                  "name": "_void",
                  "nameLocation": "7618:5:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1613,
                  "src": "7610:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1576,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7610:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7609:15:16"
            },
            "scope": 2294,
            "src": "7525:398:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1671,
              "nodeType": "Block",
              "src": "8062:426:16",
              "statements": [
                {
                  "assignments": [
                    1626
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1626,
                      "mutability": "mutable",
                      "name": "_info",
                      "nameLocation": "8100:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1671,
                      "src": "8073:32:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info"
                      },
                      "typeName": {
                        "id": 1625,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 1624,
                          "name": "IWitPriceFeeds.Info",
                          "nameLocations": [
                            "8073:14:16",
                            "8088:4:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28125,
                          "src": "8073:19:16"
                        },
                        "referencedDeclaration": 28125,
                        "src": "8073:19:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Info_$28125_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1635,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 1632,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1615,
                            "src": "8163:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 1629,
                              "name": "IWitPriceFeedsTypes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28156,
                              "src": "8134:19:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                "typeString": "type(contract IWitPriceFeedsTypes)"
                              }
                            },
                            "id": 1630,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8154:3:16",
                            "memberName": "ID4",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28155,
                            "src": "8134:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "type(IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1631,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "8158:4:16",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "8134:28:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                            "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                          }
                        },
                        "id": 1633,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8134:36:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 1627,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "8108:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1628,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8118:15:16",
                      "memberName": "lookupPriceFeed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27801,
                      "src": "8108:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Info_$28125_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Info memory)"
                      }
                    },
                    "id": 1634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8108:63:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Info memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8073:98:16"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Oracles_$28092",
                      "typeString": "enum IWitPriceFeedsTypes.Oracles"
                    },
                    "id": 1642,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 1636,
                          "name": "_info",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1626,
                          "src": "8186:5:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Info memory"
                          }
                        },
                        "id": 1637,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8192:6:16",
                        "memberName": "oracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28118,
                        "src": "8186:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                        }
                      },
                      "id": 1638,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8199:5:16",
                      "memberName": "class",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28135,
                      "src": "8186:18:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 1639,
                          "name": "IWitPriceFeedsTypes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28156,
                          "src": "8208:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                            "typeString": "type(contract IWitPriceFeedsTypes)"
                          }
                        },
                        "id": 1640,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8228:7:16",
                        "memberName": "Oracles",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28092,
                        "src": "8208:27:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Oracles_$28092_$",
                          "typeString": "type(enum IWitPriceFeedsTypes.Oracles)"
                        }
                      },
                      "id": 1641,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8236:6:16",
                      "memberName": "Witnet",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28088,
                      "src": "8208:34:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Oracles_$28092",
                        "typeString": "enum IWitPriceFeedsTypes.Oracles"
                      }
                    },
                    "src": "8186:56:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 1669,
                    "nodeType": "Block",
                    "src": "8417:64:16",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 1666,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "8467:1:16",
                              "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": 1665,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "8439:27:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "function (uint256) pure returns (struct Witnet.RadonRetrieval memory[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 1663,
                                "nodeType": "UserDefinedTypeName",
                                "pathNode": {
                                  "id": 1662,
                                  "name": "Witnet.RadonRetrieval",
                                  "nameLocations": [
                                    "8443:6:16",
                                    "8450:14:16"
                                  ],
                                  "nodeType": "IdentifierPath",
                                  "referencedDeclaration": 37795,
                                  "src": "8443:21:16"
                                },
                                "referencedDeclaration": 37795,
                                "src": "8443:21:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr",
                                  "typeString": "struct Witnet.RadonRetrieval"
                                }
                              },
                              "id": 1664,
                              "nodeType": "ArrayTypeName",
                              "src": "8443:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_storage_$dyn_storage_ptr",
                                "typeString": "struct Witnet.RadonRetrieval[]"
                              }
                            }
                          },
                          "id": 1667,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8439:30:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                          }
                        },
                        "functionReturnParameters": 1621,
                        "id": 1668,
                        "nodeType": "Return",
                        "src": "8432:37:16"
                      }
                    ]
                  },
                  "id": 1670,
                  "nodeType": "IfStatement",
                  "src": "8182:299:16",
                  "trueBody": {
                    "id": 1661,
                    "nodeType": "Block",
                    "src": "8244:167:16",
                    "statements": [
                      {
                        "assignments": [
                          1647
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1647,
                            "mutability": "mutable",
                            "name": "_radHash",
                            "nameLocation": "8276:8:16",
                            "nodeType": "VariableDeclaration",
                            "scope": 1661,
                            "src": "8259:25:16",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                              "typeString": "Witnet.RadonHash"
                            },
                            "typeName": {
                              "id": 1646,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 1645,
                                "name": "Witnet.RadonHash",
                                "nameLocations": [
                                  "8259:6:16",
                                  "8266:9:16"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 37153,
                                "src": "8259:16:16"
                              },
                              "referencedDeclaration": 37153,
                              "src": "8259:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 1655,
                        "initialValue": {
                          "arguments": [
                            {
                              "expression": {
                                "expression": {
                                  "id": 1651,
                                  "name": "_info",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1626,
                                  "src": "8309:5:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                  }
                                },
                                "id": 1652,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8315:6:16",
                                "memberName": "oracle",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28118,
                                "src": "8309:12:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Oracle_$28140_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsTypes.Oracle memory"
                                }
                              },
                              "id": 1653,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8322:7:16",
                              "memberName": "sources",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28139,
                              "src": "8309:20:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 1648,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "8287:6:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 1649,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8294:9:16",
                              "memberName": "RadonHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37153,
                              "src": "8287:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                "typeString": "type(Witnet.RadonHash)"
                              }
                            },
                            "id": 1650,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "8304:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "8287:21:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                              "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                            }
                          },
                          "id": 1654,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8287:43:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                            "typeString": "Witnet.RadonHash"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "8259:71:16"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 1658,
                              "name": "_radHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1647,
                              "src": "8390:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                "typeString": "Witnet.RadonHash"
                              }
                            ],
                            "expression": {
                              "id": 1656,
                              "name": "registry",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 951,
                              "src": "8352:8:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                                "typeString": "contract IWitOracleRadonRegistry"
                              }
                            },
                            "id": 1657,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8361:28:16",
                            "memberName": "lookupRadonRequestRetrievals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 27234,
                            "src": "8352:37:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_RadonHash_$37153_$returns$_t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "function (Witnet.RadonHash) view external returns (struct Witnet.RadonRetrieval memory[] memory)"
                            }
                          },
                          "id": 1659,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8352:47:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                          }
                        },
                        "functionReturnParameters": 1621,
                        "id": 1660,
                        "nodeType": "Return",
                        "src": "8345:54:16"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "806d7e8f",
            "id": 1672,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRetrievals",
            "nameLocation": "7940:22:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1616,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1615,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7970:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1672,
                  "src": "7963:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1614,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7963:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7962:15:16"
            },
            "returnParameters": {
              "id": 1621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1620,
                  "mutability": "mutable",
                  "name": "_void",
                  "nameLocation": "8050:5:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1672,
                  "src": "8019:36:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1618,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 1617,
                        "name": "Witnet.RadonRetrieval",
                        "nameLocations": [
                          "8019:6:16",
                          "8026:14:16"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37795,
                        "src": "8019:21:16"
                      },
                      "referencedDeclaration": 37795,
                      "src": "8019:21:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr",
                        "typeString": "struct Witnet.RadonRetrieval"
                      }
                    },
                    "id": 1619,
                    "nodeType": "ArrayTypeName",
                    "src": "8019:23:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8018:38:16"
            },
            "scope": 2294,
            "src": "7931:557:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1682,
              "nodeType": "Block",
              "src": "8585:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1679,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "8596:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8596:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1681,
                  "nodeType": "ExpressionStatement",
                  "src": "8596:15:16"
                }
              ]
            },
            "functionSelector": "3e088e12",
            "id": 1683,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "8505:13:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1674,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1683,
                  "src": "8519:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1673,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "8519:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8518:8:16"
            },
            "returnParameters": {
              "id": 1678,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1677,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1683,
                  "src": "8571:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1676,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8571:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8570:9:16"
            },
            "scope": 2294,
            "src": "8496:123:16",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1728,
              "nodeType": "Block",
              "src": "8992:548:16",
              "statements": [
                {
                  "assignments": [
                    1694
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1694,
                      "mutability": "mutable",
                      "name": "_conditions",
                      "nameLocation": "9042:11:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1728,
                      "src": "9003:50:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_UpdateConditions_$28153_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.UpdateConditions"
                      },
                      "typeName": {
                        "id": 1693,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 1692,
                          "name": "IWitPriceFeeds.UpdateConditions",
                          "nameLocations": [
                            "9003:14:16",
                            "9018:16:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28153,
                          "src": "9003:31:16"
                        },
                        "referencedDeclaration": 28153,
                        "src": "9003:31:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.UpdateConditions"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1698,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1695,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "9056:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1696,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9066:23:16",
                      "memberName": "defaultUpdateConditions",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27745,
                      "src": "9056:33:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_struct$_UpdateConditions_$28153_memory_ptr_$",
                        "typeString": "function () view external returns (struct IWitPriceFeedsTypes.UpdateConditions memory)"
                      }
                    },
                    "id": 1697,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9056:35:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_UpdateConditions_$28153_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.UpdateConditions memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9003:88:16"
                },
                {
                  "assignments": [
                    1700
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1700,
                      "mutability": "mutable",
                      "name": "_numWitnesses",
                      "nameLocation": "9108:13:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1728,
                      "src": "9102:19:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "typeName": {
                        "id": 1699,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "9102:5:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1706,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 1703,
                          "name": "_conditions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1694,
                          "src": "9130:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_UpdateConditions_$28153_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.UpdateConditions memory"
                          }
                        },
                        "id": 1704,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9142:12:16",
                        "memberName": "minWitnesses",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28152,
                        "src": "9130:24:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      ],
                      "id": 1702,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "9124:5:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint8_$",
                        "typeString": "type(uint8)"
                      },
                      "typeName": {
                        "id": 1701,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "9124:5:16",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 1705,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9124:31:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9102:53:16"
                },
                {
                  "assignments": [
                    1708
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1708,
                      "mutability": "mutable",
                      "name": "_unitaryReward",
                      "nameLocation": "9173:14:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1728,
                      "src": "9166:21:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      },
                      "typeName": {
                        "id": 1707,
                        "name": "uint64",
                        "nodeType": "ElementaryTypeName",
                        "src": "9166:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1714,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_rational_200000000_by_1",
                      "typeString": "int_const 200000000"
                    },
                    "id": 1713,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "leftExpression": {
                      "hexValue": "32",
                      "id": 1709,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "9190:1:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_2_by_1",
                        "typeString": "int_const 2"
                      },
                      "value": "2"
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_rational_100000000_by_1",
                        "typeString": "int_const 100000000"
                      },
                      "id": 1712,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "leftExpression": {
                        "hexValue": "3130",
                        "id": 1710,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9194:2:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_10_by_1",
                          "typeString": "int_const 10"
                        },
                        "value": "10"
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "**",
                      "rightExpression": {
                        "hexValue": "38",
                        "id": 1711,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9200:1:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_8_by_1",
                          "typeString": "int_const 8"
                        },
                        "value": "8"
                      },
                      "src": "9194:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_100000000_by_1",
                        "typeString": "int_const 100000000"
                      }
                    },
                    "src": "9190:11:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_200000000_by_1",
                      "typeString": "int_const 200000000"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9166:35:16"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 1717,
                        "name": "_numWitnesses",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1700,
                        "src": "9291:13:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "hexValue": "3531",
                        "id": 1718,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9343:2:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_51_by_1",
                          "typeString": "int_const 51"
                        },
                        "value": "51"
                      },
                      {
                        "id": 1719,
                        "name": "_unitaryReward",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1708,
                        "src": "9375:14:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 1722,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 1720,
                          "name": "_unitaryReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1708,
                          "src": "9423:14:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "id": 1721,
                          "name": "_numWitnesses",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1700,
                          "src": "9440:13:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "9423:30:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 1725,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 1723,
                          "name": "_unitaryReward",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1708,
                          "src": "9490:14:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "/",
                        "rightExpression": {
                          "id": 1724,
                          "name": "_numWitnesses",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1700,
                          "src": "9507:13:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "src": "9490:30:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_rational_51_by_1",
                          "typeString": "int_const 51"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "expression": {
                        "id": 1715,
                        "name": "IWitPriceFeedsLegacy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29361,
                        "src": "9230:20:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacy_$29361_$",
                          "typeString": "type(contract IWitPriceFeedsLegacy)"
                        }
                      },
                      "id": 1716,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9251:10:16",
                      "memberName": "RadonSLAv1",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29141,
                      "src": "9230:31:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_RadonSLAv1_$29141_storage_ptr_$",
                        "typeString": "type(struct IWitPriceFeedsLegacy.RadonSLAv1 storage pointer)"
                      }
                    },
                    "id": 1726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "9277:12:16",
                      "9319:22:16",
                      "9360:13:16",
                      "9404:17:16",
                      "9468:20:16"
                    ],
                    "names": [
                      "numWitnesses",
                      "minConsensusPercentage",
                      "witnessReward",
                      "witnessCollateral",
                      "minerCommitRevealFee"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "9230:302:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv1_$29141_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1 memory"
                    }
                  },
                  "functionReturnParameters": 1689,
                  "id": 1727,
                  "nodeType": "Return",
                  "src": "9223:309:16"
                }
              ]
            },
            "documentation": {
              "id": 1684,
              "nodeType": "StructuredDocumentation",
              "src": "8629:236:16",
              "text": "===============================================================================================================\n --- IWitFeedsLegacy -------------------------------------------------------------------------------------------"
            },
            "functionSelector": "6d1178e5",
            "id": 1729,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "defaultRadonSLA",
            "nameLocation": "8886:15:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1685,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8901:2:16"
            },
            "returnParameters": {
              "id": 1689,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1688,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1729,
                  "src": "8947:38:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv1_$29141_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                  },
                  "typeName": {
                    "id": 1687,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1686,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv1",
                      "nameLocations": [
                        "8947:20:16",
                        "8968:10:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29141,
                      "src": "8947:31:16"
                    },
                    "referencedDeclaration": 29141,
                    "src": "8947:31:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv1_$29141_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8946:40:16"
            },
            "scope": 2294,
            "src": "8877:663:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1740,
              "nodeType": "Block",
              "src": "9663:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1737,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "9674:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9674:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1739,
                  "nodeType": "ExpressionStatement",
                  "src": "9674:15:16"
                }
              ]
            },
            "functionSelector": "d3471e34",
            "id": 1741,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponse",
            "nameLocation": "9557:20:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1731,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1741,
                  "src": "9578:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1730,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9578:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9577:8:16"
            },
            "returnParameters": {
              "id": 1736,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1735,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1741,
                  "src": "9629:27:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 1734,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1733,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "9629:6:16",
                        "9636:13:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "9629:20:16"
                    },
                    "referencedDeclaration": 37365,
                    "src": "9629:20:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9628:29:16"
            },
            "scope": 2294,
            "src": "9548:149:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1752,
              "nodeType": "Block",
              "src": "9833:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1749,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "9844:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1750,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9844:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1751,
                  "nodeType": "ExpressionStatement",
                  "src": "9844:15:16"
                }
              ]
            },
            "functionSelector": "f14cb812",
            "id": 1753,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponseStatus",
            "nameLocation": "9714:26:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1744,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1743,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1753,
                  "src": "9741:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1742,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9741:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9740:8:16"
            },
            "returnParameters": {
              "id": 1748,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1747,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1753,
                  "src": "9790:36:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                    "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                  },
                  "typeName": {
                    "id": 1746,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1745,
                      "name": "IWitOracleLegacy.QueryResponseStatus",
                      "nameLocations": [
                        "9790:16:16",
                        "9807:19:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28682,
                      "src": "9790:36:16"
                    },
                    "referencedDeclaration": 28682,
                    "src": "9790:36:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9789:38:16"
            },
            "scope": 2294,
            "src": "9705:162:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1764,
              "nodeType": "Block",
              "src": "10000:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1761,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "10011:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10011:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1763,
                  "nodeType": "ExpressionStatement",
                  "src": "10011:15:16"
                }
              ]
            },
            "functionSelector": "49492ef1",
            "id": 1765,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResultError",
            "nameLocation": "9884:23:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1756,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1755,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1765,
                  "src": "9908:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1754,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "9908:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9907:8:16"
            },
            "returnParameters": {
              "id": 1760,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1759,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1765,
                  "src": "9958:35:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.ResultError"
                  },
                  "typeName": {
                    "id": 1758,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1757,
                      "name": "IWitOracleLegacy.ResultError",
                      "nameLocations": [
                        "9958:16:16",
                        "9975:11:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28705,
                      "src": "9958:28:16"
                    },
                    "referencedDeclaration": 28705,
                    "src": "9958:28:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9957:37:16"
            },
            "scope": 2294,
            "src": "9875:159:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1778,
              "nodeType": "Block",
              "src": "10177:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1775,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "10188:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10188:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1777,
                  "nodeType": "ExpressionStatement",
                  "src": "10188:15:16"
                }
              ]
            },
            "functionSelector": "abc86c6e",
            "id": 1779,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "10055:13:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1771,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1767,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1779,
                  "src": "10069:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1766,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "10069:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1770,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1779,
                  "src": "10077:40:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 1769,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1768,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv2",
                      "nameLocations": [
                        "10077:20:16",
                        "10098:10:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "10077:31:16"
                    },
                    "referencedDeclaration": 29146,
                    "src": "10077:31:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10068:50:16"
            },
            "returnParameters": {
              "id": 1774,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1773,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1779,
                  "src": "10163:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1772,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10163:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10162:9:16"
            },
            "scope": 2294,
            "src": "10046:165:16",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1793,
              "nodeType": "Block",
              "src": "10293:77:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 1787,
                                "name": "surrogate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 948,
                                "src": "10339:9:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                  "typeString": "contract IWitPriceFeeds"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                  "typeString": "contract IWitPriceFeeds"
                                }
                              ],
                              "id": 1786,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10331:7:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 1785,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "10331:7:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 1788,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10331:18:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 1784,
                          "name": "IWitOracleAppliance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26593,
                          "src": "10311:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitOracleAppliance_$26593_$",
                            "typeString": "type(contract IWitOracleAppliance)"
                          }
                        },
                        "id": 1789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10311:39:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleAppliance_$26593",
                          "typeString": "contract IWitOracleAppliance"
                        }
                      },
                      "id": 1790,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10351:9:16",
                      "memberName": "witOracle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 26592,
                      "src": "10311:49:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 1791,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10311:51:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1783,
                  "id": 1792,
                  "nodeType": "Return",
                  "src": "10304:58:16"
                }
              ]
            },
            "functionSelector": "46d1d21a",
            "id": 1794,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "witnet",
            "nameLocation": "10228:6:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1780,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10234:2:16"
            },
            "returnParameters": {
              "id": 1783,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1782,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1794,
                  "src": "10279:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1781,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10279:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10278:9:16"
            },
            "scope": 2294,
            "src": "10219:151:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              335
            ],
            "body": {
              "id": 1804,
              "nodeType": "Block",
              "src": "10729:41:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1800,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 415,
                        "src": "10747:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$415_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 1801,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10755:5:16",
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 335,
                      "src": "10747:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 1802,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10747:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1799,
                  "id": 1803,
                  "nodeType": "Return",
                  "src": "10740:22:16"
                }
              ]
            },
            "functionSelector": "8da5cb5b",
            "id": 1805,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nameLocation": "10641:5:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1796,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10666:8:16"
            },
            "parameters": {
              "id": 1795,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10646:2:16"
            },
            "returnParameters": {
              "id": 1799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1798,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1805,
                  "src": "10715:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1797,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10715:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10714:9:16"
            },
            "scope": 2294,
            "src": "10632:138:16",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45708
            ],
            "body": {
              "id": 1814,
              "nodeType": "Block",
              "src": "10857:49:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1809,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45709,
                        "src": "10868:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$45709_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 1811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10881:15:16",
                      "memberName": "acceptOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45708,
                      "src": "10868:28:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10868:30:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1813,
                  "nodeType": "ExpressionStatement",
                  "src": "10868:30:16"
                }
              ]
            },
            "functionSelector": "79ba5097",
            "id": 1815,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "acceptOwnership",
            "nameLocation": "10791:15:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1807,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10826:8:16"
            },
            "parameters": {
              "id": 1806,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10806:2:16"
            },
            "returnParameters": {
              "id": 1808,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10857:0:16"
            },
            "scope": 2294,
            "src": "10782:124:16",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1823,
              "nodeType": "Block",
              "src": "10982:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1820,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "10993:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1821,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10993:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1822,
                  "nodeType": "ExpressionStatement",
                  "src": "10993:15:16"
                }
              ]
            },
            "functionSelector": "eb92b29b",
            "id": 1824,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "baseFeeOverheadPercentage",
            "nameLocation": "10923:25:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1816,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10948:2:16"
            },
            "returnParameters": {
              "id": 1819,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1818,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1824,
                  "src": "10974:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 1817,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "10974:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10973:8:16"
            },
            "scope": 2294,
            "src": "10914:102:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              45647
            ],
            "body": {
              "id": 1834,
              "nodeType": "Block",
              "src": "11131:53:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 1830,
                        "name": "Ownable2Step",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45709,
                        "src": "11149:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable2Step_$45709_$",
                          "typeString": "type(contract Ownable2Step)"
                        }
                      },
                      "id": 1831,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11162:12:16",
                      "memberName": "pendingOwner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45647,
                      "src": "11149:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 1832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11149:27:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1829,
                  "id": 1833,
                  "nodeType": "Return",
                  "src": "11142:34:16"
                }
              ]
            },
            "functionSelector": "e30c3978",
            "id": 1835,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pendingOwner",
            "nameLocation": "11035:12:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1826,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11068:8:16"
            },
            "parameters": {
              "id": 1825,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11047:2:16"
            },
            "returnParameters": {
              "id": 1829,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1828,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1835,
                  "src": "11117:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1827,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11117:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11116:9:16"
            },
            "scope": 2294,
            "src": "11026:158:16",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45667
            ],
            "body": {
              "id": 1849,
              "nodeType": "Block",
              "src": "11310:55:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 1846,
                        "name": "_newOwner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1837,
                        "src": "11347:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 1843,
                        "name": "Ownable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 415,
                        "src": "11321:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Ownable_$415_$",
                          "typeString": "type(contract Ownable)"
                        }
                      },
                      "id": 1845,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11329:17:16",
                      "memberName": "transferOwnership",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 394,
                      "src": "11321:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 1847,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11321:36:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1848,
                  "nodeType": "ExpressionStatement",
                  "src": "11321:36:16"
                }
              ]
            },
            "functionSelector": "f2fde38b",
            "id": 1850,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 1841,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 1840,
                  "name": "onlyOwner",
                  "nameLocations": [
                    "11295:9:16"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 326,
                  "src": "11295:9:16"
                },
                "nodeType": "ModifierInvocation",
                "src": "11295:9:16"
              }
            ],
            "name": "transferOwnership",
            "nameLocation": "11205:17:16",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1839,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11259:8:16"
            },
            "parameters": {
              "id": 1838,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1837,
                  "mutability": "mutable",
                  "name": "_newOwner",
                  "nameLocation": "11231:9:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1850,
                  "src": "11223:17:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1836,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11223:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11222:19:16"
            },
            "returnParameters": {
              "id": 1842,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11310:0:16"
            },
            "scope": 2294,
            "src": "11196:169:16",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1858,
              "nodeType": "Block",
              "src": "11424:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1855,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11435:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1856,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11435:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1857,
                  "nodeType": "ExpressionStatement",
                  "src": "11435:15:16"
                }
              ]
            },
            "functionSelector": "86ac03e0",
            "id": 1859,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteFeed",
            "nameLocation": "11382:10:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1853,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1852,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1859,
                  "src": "11393:15:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1851,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11393:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11392:17:16"
            },
            "returnParameters": {
              "id": 1854,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11424:0:16"
            },
            "scope": 2294,
            "src": "11373:85:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1865,
              "nodeType": "Block",
              "src": "11503:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1862,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11514:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11514:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1864,
                  "nodeType": "ExpressionStatement",
                  "src": "11514:15:16"
                }
              ]
            },
            "functionSelector": "e1c9e3c0",
            "id": 1866,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteFeeds",
            "nameLocation": "11475:11:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1860,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11486:2:16"
            },
            "returnParameters": {
              "id": 1861,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11503:0:16"
            },
            "scope": 2294,
            "src": "11466:71:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1874,
              "nodeType": "Block",
              "src": "11608:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1871,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11619:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11619:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1873,
                  "nodeType": "ExpressionStatement",
                  "src": "11619:15:16"
                }
              ]
            },
            "functionSelector": "b8d38c96",
            "id": 1875,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleBaseFeeOverheadPercentage",
            "nameLocation": "11554:31:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1868,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1875,
                  "src": "11586:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 1867,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "11586:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11585:8:16"
            },
            "returnParameters": {
              "id": 1870,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11608:0:16"
            },
            "scope": 2294,
            "src": "11545:97:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1884,
              "nodeType": "Block",
              "src": "11737:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1881,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11748:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1882,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11748:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1883,
                  "nodeType": "ExpressionStatement",
                  "src": "11748:15:16"
                }
              ]
            },
            "functionSelector": "fae91a51",
            "id": 1885,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleDefaultRadonSLA",
            "nameLocation": "11659:21:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1879,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1878,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1885,
                  "src": "11681:40:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 1877,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1876,
                      "name": "IWitPriceFeedsLegacy.RadonSLAv2",
                      "nameLocations": [
                        "11681:20:16",
                        "11702:10:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "11681:31:16"
                    },
                    "referencedDeclaration": 29146,
                    "src": "11681:31:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11680:42:16"
            },
            "returnParameters": {
              "id": 1880,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11737:0:16"
            },
            "scope": 2294,
            "src": "11650:121:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1895,
              "nodeType": "Block",
              "src": "11850:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1892,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11861:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1893,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11861:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1894,
                  "nodeType": "ExpressionStatement",
                  "src": "11861:15:16"
                }
              ]
            },
            "functionSelector": "84292f07",
            "id": 1896,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedRequest",
            "nameLocation": "11792:17:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1890,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1887,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1896,
                  "src": "11810:15:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1886,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11810:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1889,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1896,
                  "src": "11827:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1888,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11827:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11809:26:16"
            },
            "returnParameters": {
              "id": 1891,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11850:0:16"
            },
            "scope": 2294,
            "src": "11783:101:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1907,
              "nodeType": "Block",
              "src": "11969:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1904,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "11980:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1905,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11980:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1906,
                  "nodeType": "ExpressionStatement",
                  "src": "11980:15:16"
                }
              ]
            },
            "functionSelector": "ac82c608",
            "id": 1908,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedRequest",
            "nameLocation": "11901:17:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1902,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1898,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1908,
                  "src": "11919:15:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1897,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11919:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1901,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1908,
                  "src": "11936:17:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRequest_$28922",
                    "typeString": "contract IWitOracleRequest"
                  },
                  "typeName": {
                    "id": 1900,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1899,
                      "name": "IWitOracleRequest",
                      "nameLocations": [
                        "11936:17:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28922,
                      "src": "11936:17:16"
                    },
                    "referencedDeclaration": 28922,
                    "src": "11936:17:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRequest_$28922",
                      "typeString": "contract IWitOracleRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11918:36:16"
            },
            "returnParameters": {
              "id": 1903,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11969:0:16"
            },
            "scope": 2294,
            "src": "11892:111:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1923,
              "nodeType": "Block",
              "src": "12117:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1920,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "12128:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1921,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12128:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1922,
                  "nodeType": "ExpressionStatement",
                  "src": "12128:15:16"
                }
              ]
            },
            "functionSelector": "ff24fb4f",
            "id": 1924,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedRequest",
            "nameLocation": "12020:17:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1918,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1910,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1924,
                  "src": "12038:15:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1909,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12038:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1913,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1924,
                  "src": "12055:25:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRequestTemplate_$29115",
                    "typeString": "contract IWitOracleRequestTemplate"
                  },
                  "typeName": {
                    "id": 1912,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1911,
                      "name": "IWitOracleRequestTemplate",
                      "nameLocations": [
                        "12055:25:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29115,
                      "src": "12055:25:16"
                    },
                    "referencedDeclaration": 29115,
                    "src": "12055:25:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRequestTemplate_$29115",
                      "typeString": "contract IWitOracleRequestTemplate"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1917,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1924,
                  "src": "12082:19:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 1914,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "12082:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 1915,
                      "nodeType": "ArrayTypeName",
                      "src": "12082:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 1916,
                    "nodeType": "ArrayTypeName",
                    "src": "12082:10:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12037:65:16"
            },
            "returnParameters": {
              "id": 1919,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12117:0:16"
            },
            "scope": 2294,
            "src": "12011:140:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1937,
              "nodeType": "Block",
              "src": "12244:34:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1934,
                      "name": "_revertBypass",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2271,
                      "src": "12255:13:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 1935,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12255:15:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1936,
                  "nodeType": "ExpressionStatement",
                  "src": "12255:15:16"
                }
              ]
            },
            "functionSelector": "03f3813d",
            "id": 1938,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedSolver",
            "nameLocation": "12168:16:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1932,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1926,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1938,
                  "src": "12185:15:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1925,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12185:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1928,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1938,
                  "src": "12202:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1927,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12202:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1931,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1938,
                  "src": "12211:17:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1929,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "12211:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 1930,
                    "nodeType": "ArrayTypeName",
                    "src": "12211:8:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12184:45:16"
            },
            "returnParameters": {
              "id": 1933,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12244:0:16"
            },
            "scope": 2294,
            "src": "12159:119:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 1969,
              "nodeType": "Block",
              "src": "12622:201:16",
              "statements": [
                {
                  "assignments": [
                    1946
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1946,
                      "mutability": "mutable",
                      "name": "_exponent",
                      "nameLocation": "12638:9:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 1969,
                      "src": "12633:14:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int8",
                        "typeString": "int8"
                      },
                      "typeName": {
                        "id": 1945,
                        "name": "int8",
                        "nodeType": "ElementaryTypeName",
                        "src": "12633:4:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int8",
                          "typeString": "int8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1955,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 1952,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1940,
                            "src": "12713:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 1949,
                              "name": "IWitPriceFeedsTypes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28156,
                              "src": "12684:19:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                "typeString": "type(contract IWitPriceFeedsTypes)"
                              }
                            },
                            "id": 1950,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12704:3:16",
                            "memberName": "ID4",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28155,
                            "src": "12684:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "type(IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1951,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "12708:4:16",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "12684:28:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                            "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                          }
                        },
                        "id": 1953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12684:36:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 1947,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "12650:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12660:23:16",
                      "memberName": "lookupPriceFeedExponent",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27817,
                      "src": "12650:33:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_int8_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (int8)"
                      }
                    },
                    "id": 1954,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12650:71:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_int8",
                      "typeString": "int8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12633:88:16"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_int8",
                          "typeString": "int8"
                        },
                        "id": 1959,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 1957,
                          "name": "_exponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1946,
                          "src": "12741:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int8",
                            "typeString": "int8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 1958,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "12754:1:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "12741:14:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "756e636f6d706c69616e74206578706f6e656e74",
                        "id": 1960,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12757:22:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_416f884d590723798ecde9072e04c3fe4fe83f0db359b745a894ce2f2250c356",
                          "typeString": "literal_string \"uncompliant exponent\""
                        },
                        "value": "uncompliant exponent"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_416f884d590723798ecde9072e04c3fe4fe83f0db359b745a894ce2f2250c356",
                          "typeString": "literal_string \"uncompliant exponent\""
                        }
                      ],
                      "id": 1956,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2230,
                      "src": "12732:8:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1961,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12732:48:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1962,
                  "nodeType": "ExpressionStatement",
                  "src": "12732:48:16"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 1966,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "-",
                        "prefix": true,
                        "src": "12804:10:16",
                        "subExpression": {
                          "id": 1965,
                          "name": "_exponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1946,
                          "src": "12805:9:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int8",
                            "typeString": "int8"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_int8",
                          "typeString": "int8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_int8",
                          "typeString": "int8"
                        }
                      ],
                      "id": 1964,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "12798:5:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint8_$",
                        "typeString": "type(uint8)"
                      },
                      "typeName": {
                        "id": 1963,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "12798:5:16",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 1967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12798:17:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 1944,
                  "id": 1968,
                  "nodeType": "Return",
                  "src": "12791:24:16"
                }
              ]
            },
            "functionSelector": "6ab221f8",
            "id": 1970,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupDecimals",
            "nameLocation": "12538:14:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1941,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1940,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "12560:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 1970,
                  "src": "12553:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1939,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "12553:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12552:15:16"
            },
            "returnParameters": {
              "id": 1944,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1943,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1970,
                  "src": "12610:5:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1942,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "12610:5:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12609:7:16"
            },
            "scope": 2294,
            "src": "12529:294:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2016,
              "nodeType": "Block",
              "src": "12976:295:16",
              "statements": [
                {
                  "assignments": [
                    1984
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1984,
                      "mutability": "mutable",
                      "name": "_info",
                      "nameLocation": "13014:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2016,
                      "src": "12987:32:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Info"
                      },
                      "typeName": {
                        "id": 1983,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 1982,
                          "name": "IWitPriceFeeds.Info",
                          "nameLocations": [
                            "12987:14:16",
                            "13002:4:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28125,
                          "src": "12987:19:16"
                        },
                        "referencedDeclaration": 28125,
                        "src": "12987:19:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Info_$28125_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Info"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 1993,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 1990,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1972,
                            "src": "13077:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 1987,
                              "name": "IWitPriceFeedsTypes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28156,
                              "src": "13048:19:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                "typeString": "type(contract IWitPriceFeedsTypes)"
                              }
                            },
                            "id": 1988,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13068:3:16",
                            "memberName": "ID4",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28155,
                            "src": "13048:23:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "type(IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 1989,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13072:4:16",
                          "memberName": "wrap",
                          "nodeType": "MemberAccess",
                          "src": "13048:28:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                            "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                          }
                        },
                        "id": 1991,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13048:36:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 1985,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "13022:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 1986,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13032:15:16",
                      "memberName": "lookupPriceFeed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27801,
                      "src": "13022:25:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Info_$28125_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Info memory)"
                      }
                    },
                    "id": 1992,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13022:63:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Info memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12987:98:16"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Mappers_$28087",
                      "typeString": "enum IWitPriceFeedsTypes.Mappers"
                    },
                    "id": 2000,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 1994,
                          "name": "_info",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1984,
                          "src": "13100:5:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Info memory"
                          }
                        },
                        "id": 1995,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13106:6:16",
                        "memberName": "mapper",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28115,
                        "src": "13100:12:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Mapper_$28132_memory_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Mapper memory"
                        }
                      },
                      "id": 1996,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13113:5:16",
                      "memberName": "class",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28128,
                      "src": "13100:18:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Mappers_$28087",
                        "typeString": "enum IWitPriceFeedsTypes.Mappers"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 1997,
                          "name": "IWitPriceFeedsTypes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 28156,
                          "src": "13122:19:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                            "typeString": "type(contract IWitPriceFeedsTypes)"
                          }
                        },
                        "id": 1998,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13142:7:16",
                        "memberName": "Mappers",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28087,
                        "src": "13122:27:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Mappers_$28087_$",
                          "typeString": "type(enum IWitPriceFeedsTypes.Mappers)"
                        }
                      },
                      "id": 1999,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "13150:4:16",
                      "memberName": "None",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 28082,
                      "src": "13122:32:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Mappers_$28087",
                        "typeString": "enum IWitPriceFeedsTypes.Mappers"
                      }
                    },
                    "src": "13100:54:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2015,
                  "nodeType": "IfStatement",
                  "src": "13096:168:16",
                  "trueBody": {
                    "id": 2014,
                    "nodeType": "Block",
                    "src": "13156:108:16",
                    "statements": [
                      {
                        "expression": {
                          "id": 2006,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 2001,
                            "name": "_solverAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1975,
                            "src": "13171:14:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 2004,
                                "name": "surrogate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 948,
                                "src": "13196:9:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                  "typeString": "contract IWitPriceFeeds"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                  "typeString": "contract IWitPriceFeeds"
                                }
                              ],
                              "id": 2003,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "13188:7:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 2002,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "13188:7:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2005,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13188:18:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "13171:35:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2007,
                        "nodeType": "ExpressionStatement",
                        "src": "13171:35:16"
                      },
                      {
                        "expression": {
                          "id": 2012,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 2008,
                            "name": "_solverDeps",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1978,
                            "src": "13221:11:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                              "typeString": "string memory[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "expression": {
                                "id": 2009,
                                "name": "_info",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1984,
                                "src": "13235:5:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Info_$28125_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsTypes.Info memory"
                                }
                              },
                              "id": 2010,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13241:6:16",
                              "memberName": "mapper",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28115,
                              "src": "13235:12:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Mapper_$28132_memory_ptr",
                                "typeString": "struct IWitPriceFeedsTypes.Mapper memory"
                              }
                            },
                            "id": 2011,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13248:4:16",
                            "memberName": "deps",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28131,
                            "src": "13235:17:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                              "typeString": "string memory[] memory"
                            }
                          },
                          "src": "13221:31:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        },
                        "id": 2013,
                        "nodeType": "ExpressionStatement",
                        "src": "13221:31:16"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "384ac938",
            "id": 2017,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lookupPriceSolver",
            "nameLocation": "12844:17:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1973,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1972,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "12869:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2017,
                  "src": "12862:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 1971,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "12862:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12861:15:16"
            },
            "returnParameters": {
              "id": 1979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1975,
                  "mutability": "mutable",
                  "name": "_solverAddress",
                  "nameLocation": "12926:14:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2017,
                  "src": "12918:22:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1974,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12918:7:16",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1978,
                  "mutability": "mutable",
                  "name": "_solverDeps",
                  "nameLocation": "12958:11:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2017,
                  "src": "12942:27:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1976,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "12942:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 1977,
                    "nodeType": "ArrayTypeName",
                    "src": "12942:8:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12917:53:16"
            },
            "scope": 2294,
            "src": "12835:436:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2080,
              "nodeType": "Block",
              "src": "13400:602:16",
              "statements": [
                {
                  "assignments": [
                    2029
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2029,
                      "mutability": "mutable",
                      "name": "_v3Id",
                      "nameLocation": "13435:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2080,
                      "src": "13411:29:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                        "typeString": "IWitPriceFeedsTypes.ID4"
                      },
                      "typeName": {
                        "id": 2028,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 2027,
                          "name": "IWitPriceFeedsTypes.ID4",
                          "nameLocations": [
                            "13411:19:16",
                            "13431:3:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28155,
                          "src": "13411:23:16"
                        },
                        "referencedDeclaration": 28155,
                        "src": "13411:23:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2056,
                  "initialValue": {
                    "components": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 2043,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "expression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 2033,
                                      "name": "__bypass",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2282,
                                      "src": "13489:8:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                        "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                      }
                                    },
                                    "id": 2034,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "13489:10:16",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                    }
                                  },
                                  "id": 2035,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "13500:5:16",
                                  "memberName": "v3Ids",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 961,
                                  "src": "13489:16:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                                    "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                                  }
                                },
                                "id": 2037,
                                "indexExpression": {
                                  "id": 2036,
                                  "name": "feedId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2019,
                                  "src": "13506:6:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "13489:24:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                  "typeString": "IWitPriceFeedsTypes.ID4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                  "typeString": "IWitPriceFeedsTypes.ID4"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 2030,
                                  "name": "IWitPriceFeedsTypes",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 28156,
                                  "src": "13458:19:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                    "typeString": "type(contract IWitPriceFeedsTypes)"
                                  }
                                },
                                "id": 2031,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "13478:3:16",
                                "memberName": "ID4",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28155,
                                "src": "13458:23:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                  "typeString": "type(IWitPriceFeedsTypes.ID4)"
                                }
                              },
                              "id": 2032,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "13482:6:16",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "13458:30:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ID4_$28155_$returns$_t_bytes4_$",
                                "typeString": "function (IWitPriceFeedsTypes.ID4) pure returns (bytes4)"
                              }
                            },
                            "id": 2038,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13458:56:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 2041,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "13525:1:16",
                                "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": 2040,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "13518:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 2039,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "13518:6:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2042,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13518:9:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "13458:69:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "arguments": [
                            {
                              "id": 2052,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2019,
                              "src": "13621:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 2049,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "13592:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 2050,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13612:3:16",
                              "memberName": "ID4",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28155,
                              "src": "13592:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "type(IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 2051,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "13616:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "13592:28:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 2053,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13592:36:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "id": 2054,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "13458:170:16",
                        "trueExpression": {
                          "baseExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2044,
                                "name": "__bypass",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2282,
                                "src": "13548:8:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                }
                              },
                              "id": 2045,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13548:10:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                              }
                            },
                            "id": 2046,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13559:5:16",
                            "memberName": "v3Ids",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 961,
                            "src": "13548:16:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 2048,
                          "indexExpression": {
                            "id": 2047,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2019,
                            "src": "13565:6:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13548:24:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "id": 2055,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "13443:196:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                      "typeString": "IWitPriceFeedsTypes.ID4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13411:228:16"
                },
                {
                  "assignments": [
                    2061
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2061,
                      "mutability": "mutable",
                      "name": "_lastUpdate",
                      "nameLocation": "13678:11:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2080,
                      "src": "13650:39:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Price"
                      },
                      "typeName": {
                        "id": 2060,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 2059,
                          "name": "IWitPriceFeeds.Price",
                          "nameLocations": [
                            "13650:14:16",
                            "13665:5:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28105,
                          "src": "13650:20:16"
                        },
                        "referencedDeclaration": 28105,
                        "src": "13650:20:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Price_$28105_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Price"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2066,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 2064,
                        "name": "_v3Id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2029,
                        "src": "13717:5:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 2062,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "13692:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 2063,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13702:14:16",
                      "memberName": "getPriceUnsafe",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27792,
                      "src": "13692:24:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Price_$28105_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Price memory)"
                      }
                    },
                    "id": 2065,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13692:31:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Price memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13650:73:16"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 2069,
                          "name": "_lastUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2061,
                          "src": "13796:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Price memory"
                          }
                        },
                        "id": 2070,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13808:5:16",
                        "memberName": "price",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28096,
                        "src": "13796:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "expression": {
                          "id": 2071,
                          "name": "_lastUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2061,
                          "src": "13839:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Price memory"
                          }
                        },
                        "id": 2072,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13851:9:16",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28101,
                        "src": "13839:21:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        }
                      },
                      {
                        "expression": {
                          "id": 2073,
                          "name": "_lastUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2061,
                          "src": "13885:11:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                            "typeString": "struct IWitPriceFeedsTypes.Price memory"
                          }
                        },
                        "id": 2074,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13897:5:16",
                        "memberName": "trail",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 28104,
                        "src": "13885:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 2075,
                            "name": "IWitPriceFeedsLegacySolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 29521,
                            "src": "13931:26:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                              "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                            }
                          },
                          "id": 2076,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13958:18:16",
                          "memberName": "LatestUpdateStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 29477,
                          "src": "13931:45:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                            "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                          }
                        },
                        "id": 2077,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "13977:5:16",
                        "memberName": "Ready",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 29475,
                        "src": "13931:51:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                          "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                          "typeString": "Witnet.Timestamp"
                        },
                        {
                          "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                          "typeString": "Witnet.TransactionHash"
                        },
                        {
                          "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                          "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                        }
                      ],
                      "expression": {
                        "id": 2067,
                        "name": "IWitPriceFeedsLegacySolver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29521,
                        "src": "13741:26:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                          "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                        }
                      },
                      "id": 2068,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13768:5:16",
                      "memberName": "Price",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29489,
                      "src": "13741:32:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                        "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                      }
                    },
                    "id": 2078,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "13789:5:16",
                      "13828:9:16",
                      "13875:8:16",
                      "13917:12:16"
                    ],
                    "names": [
                      "value",
                      "timestamp",
                      "drTxHash",
                      "latestStatus"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "13741:253:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                    }
                  },
                  "functionReturnParameters": 2024,
                  "id": 2079,
                  "nodeType": "Return",
                  "src": "13734:260:16"
                }
              ]
            },
            "functionSelector": "c3d98ea8",
            "id": 2081,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrice",
            "nameLocation": "13288:11:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2020,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2019,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "13307:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2081,
                  "src": "13300:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 2018,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "13300:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13299:15:16"
            },
            "returnParameters": {
              "id": 2024,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2023,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2081,
                  "src": "13354:39:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                  },
                  "typeName": {
                    "id": 2022,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2021,
                      "name": "IWitPriceFeedsLegacySolver.Price",
                      "nameLocations": [
                        "13354:26:16",
                        "13381:5:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29489,
                      "src": "13354:32:16"
                    },
                    "referencedDeclaration": 29489,
                    "src": "13354:32:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13353:41:16"
            },
            "scope": 2294,
            "src": "13279:723:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2124,
              "nodeType": "Block",
              "src": "14156:209:16",
              "statements": [
                {
                  "expression": {
                    "id": 2099,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 2091,
                      "name": "_prices",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2089,
                      "src": "14167:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 2096,
                            "name": "feedIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2084,
                            "src": "14216:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                              "typeString": "bytes4[] calldata"
                            }
                          },
                          "id": 2097,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14224:6:16",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "14216:14:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 2095,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "14177:38:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (struct IWitPriceFeedsLegacySolver.Price memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 2093,
                            "nodeType": "UserDefinedTypeName",
                            "pathNode": {
                              "id": 2092,
                              "name": "IWitPriceFeedsLegacySolver.Price",
                              "nameLocations": [
                                "14181:26:16",
                                "14208:5:16"
                              ],
                              "nodeType": "IdentifierPath",
                              "referencedDeclaration": 29489,
                              "src": "14181:32:16"
                            },
                            "referencedDeclaration": 29489,
                            "src": "14181:32:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                            }
                          },
                          "id": 2094,
                          "nodeType": "ArrayTypeName",
                          "src": "14181:34:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Price_$29489_storage_$dyn_storage_ptr",
                            "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                          }
                        }
                      },
                      "id": 2098,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14177:54:16",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                      }
                    },
                    "src": "14167:64:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                    }
                  },
                  "id": 2100,
                  "nodeType": "ExpressionStatement",
                  "src": "14167:64:16"
                },
                {
                  "body": {
                    "id": 2122,
                    "nodeType": "Block",
                    "src": "14291:67:16",
                    "statements": [
                      {
                        "expression": {
                          "id": 2120,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 2112,
                              "name": "_prices",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2089,
                              "src": "14306:7:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct IWitPriceFeedsLegacySolver.Price memory[] memory"
                              }
                            },
                            "id": 2114,
                            "indexExpression": {
                              "id": 2113,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2102,
                              "src": "14314:3:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "14306:12:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 2116,
                                  "name": "feedIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2084,
                                  "src": "14333:7:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                                    "typeString": "bytes4[] calldata"
                                  }
                                },
                                "id": 2118,
                                "indexExpression": {
                                  "id": 2117,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2102,
                                  "src": "14341:3:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "14333:12:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 2115,
                              "name": "latestPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2081,
                              "src": "14321:11:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                                "typeString": "function (bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                              }
                            },
                            "id": 2119,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14321:25:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                              "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                            }
                          },
                          "src": "14306:40:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                            "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                          }
                        },
                        "id": 2121,
                        "nodeType": "ExpressionStatement",
                        "src": "14306:40:16"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2108,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 2105,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2102,
                      "src": "14261:3:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 2106,
                        "name": "feedIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2084,
                        "src": "14267:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                          "typeString": "bytes4[] calldata"
                        }
                      },
                      "id": 2107,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14275:6:16",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "14267:14:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14261:20:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2123,
                  "initializationExpression": {
                    "assignments": [
                      2102
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 2102,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "14252:3:16",
                        "nodeType": "VariableDeclaration",
                        "scope": 2123,
                        "src": "14247:8:16",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 2101,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "14247:4:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 2104,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 2103,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "14258:1:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "14247:12:16"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 2110,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "14283:6:16",
                      "subExpression": {
                        "id": 2109,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2102,
                        "src": "14283:3:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2111,
                    "nodeType": "ExpressionStatement",
                    "src": "14283:6:16"
                  },
                  "nodeType": "ForStatement",
                  "src": "14242:116:16"
                }
              ]
            },
            "functionSelector": "f9f34bb6",
            "id": 2125,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrices",
            "nameLocation": "14019:12:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2085,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2084,
                  "mutability": "mutable",
                  "name": "feedIds",
                  "nameLocation": "14050:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2125,
                  "src": "14032:25:16",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2082,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "14032:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 2083,
                    "nodeType": "ArrayTypeName",
                    "src": "14032:8:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14031:27:16"
            },
            "returnParameters": {
              "id": 2090,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2089,
                  "mutability": "mutable",
                  "name": "_prices",
                  "nameLocation": "14142:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2125,
                  "src": "14100:49:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2087,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 2086,
                        "name": "IWitPriceFeedsLegacySolver.Price",
                        "nameLocations": [
                          "14100:26:16",
                          "14127:5:16"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 29489,
                        "src": "14100:32:16"
                      },
                      "referencedDeclaration": 29489,
                      "src": "14100:32:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                      }
                    },
                    "id": 2088,
                    "nodeType": "ArrayTypeName",
                    "src": "14100:34:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$29489_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14099:51:16"
            },
            "scope": 2294,
            "src": "14010:355:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2214,
              "nodeType": "Block",
              "src": "14729:592:16",
              "statements": [
                {
                  "assignments": [
                    2137
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2137,
                      "mutability": "mutable",
                      "name": "_v2Id",
                      "nameLocation": "14747:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2214,
                      "src": "14740:12:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 2136,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "14740:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2142,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 2140,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2127,
                        "src": "14762:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 2139,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "14755:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes4_$",
                        "typeString": "type(bytes4)"
                      },
                      "typeName": {
                        "id": 2138,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "14755:6:16",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 2141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14755:14:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14740:29:16"
                },
                {
                  "assignments": [
                    2147
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2147,
                      "mutability": "mutable",
                      "name": "_v3Id",
                      "nameLocation": "14804:5:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2214,
                      "src": "14780:29:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                        "typeString": "IWitPriceFeedsTypes.ID4"
                      },
                      "typeName": {
                        "id": 2146,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 2145,
                          "name": "IWitPriceFeedsTypes.ID4",
                          "nameLocations": [
                            "14780:19:16",
                            "14800:3:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28155,
                          "src": "14780:23:16"
                        },
                        "referencedDeclaration": 28155,
                        "src": "14780:23:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2174,
                  "initialValue": {
                    "components": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 2161,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "expression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 2151,
                                      "name": "__bypass",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2282,
                                      "src": "14858:8:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                        "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                      }
                                    },
                                    "id": 2152,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "14858:10:16",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                                    }
                                  },
                                  "id": 2153,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "14869:5:16",
                                  "memberName": "v3Ids",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 961,
                                  "src": "14858:16:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                                    "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                                  }
                                },
                                "id": 2155,
                                "indexExpression": {
                                  "id": 2154,
                                  "name": "_v2Id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2137,
                                  "src": "14875:5:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "14858:23:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                  "typeString": "IWitPriceFeedsTypes.ID4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                                  "typeString": "IWitPriceFeedsTypes.ID4"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 2148,
                                  "name": "IWitPriceFeedsTypes",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 28156,
                                  "src": "14827:19:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                    "typeString": "type(contract IWitPriceFeedsTypes)"
                                  }
                                },
                                "id": 2149,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "14847:3:16",
                                "memberName": "ID4",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28155,
                                "src": "14827:23:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                  "typeString": "type(IWitPriceFeedsTypes.ID4)"
                                }
                              },
                              "id": 2150,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "14851:6:16",
                              "memberName": "unwrap",
                              "nodeType": "MemberAccess",
                              "src": "14827:30:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ID4_$28155_$returns$_t_bytes4_$",
                                "typeString": "function (IWitPriceFeedsTypes.ID4) pure returns (bytes4)"
                              }
                            },
                            "id": 2156,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14827:55:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 2159,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "14893:1:16",
                                "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": 2158,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "14886:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 2157,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "14886:6:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2160,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14886:9:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "14827:68:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "arguments": [
                            {
                              "id": 2170,
                              "name": "_v2Id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2137,
                              "src": "14988:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 2167,
                                "name": "IWitPriceFeedsTypes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 28156,
                                "src": "14959:19:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsTypes_$28156_$",
                                  "typeString": "type(contract IWitPriceFeedsTypes)"
                                }
                              },
                              "id": 2168,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14979:3:16",
                              "memberName": "ID4",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 28155,
                              "src": "14959:23:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_ID4_$28155_$",
                                "typeString": "type(IWitPriceFeedsTypes.ID4)"
                              }
                            },
                            "id": 2169,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "14983:4:16",
                            "memberName": "wrap",
                            "nodeType": "MemberAccess",
                            "src": "14959:28:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_wrap_pure$_t_bytes4_$returns$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "function (bytes4) pure returns (IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 2171,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14959:35:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "id": 2172,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "14827:167:16",
                        "trueExpression": {
                          "baseExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2162,
                                "name": "__bypass",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2282,
                                "src": "14916:8:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_BypassV2V3_$962_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer)"
                                }
                              },
                              "id": 2163,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "14916:10:16",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3 storage pointer"
                              }
                            },
                            "id": 2164,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14927:5:16",
                            "memberName": "v3Ids",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 961,
                            "src": "14916:16:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes4_$_t_userDefinedValueType$_ID4_$28155_$",
                              "typeString": "mapping(bytes4 => IWitPriceFeedsTypes.ID4)"
                            }
                          },
                          "id": 2166,
                          "indexExpression": {
                            "id": 2165,
                            "name": "_v2Id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2137,
                            "src": "14933:5:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "14916:23:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                            "typeString": "IWitPriceFeedsTypes.ID4"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "id": 2173,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "14812:193:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                      "typeString": "IWitPriceFeedsTypes.ID4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14780:225:16"
                },
                {
                  "assignments": [
                    2179
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2179,
                      "mutability": "mutable",
                      "name": "_lastUpdate",
                      "nameLocation": "15044:11:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2214,
                      "src": "15016:39:16",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                        "typeString": "struct IWitPriceFeedsTypes.Price"
                      },
                      "typeName": {
                        "id": 2178,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 2177,
                          "name": "IWitPriceFeeds.Price",
                          "nameLocations": [
                            "15016:14:16",
                            "15031:5:16"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 28105,
                          "src": "15016:20:16"
                        },
                        "referencedDeclaration": 28105,
                        "src": "15016:20:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Price_$28105_storage_ptr",
                          "typeString": "struct IWitPriceFeedsTypes.Price"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2184,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 2182,
                        "name": "_v3Id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2147,
                        "src": "15083:5:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_userDefinedValueType$_ID4_$28155",
                          "typeString": "IWitPriceFeedsTypes.ID4"
                        }
                      ],
                      "expression": {
                        "id": 2180,
                        "name": "surrogate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 948,
                        "src": "15058:9:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                          "typeString": "contract IWitPriceFeeds"
                        }
                      },
                      "id": 2181,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15068:14:16",
                      "memberName": "getPriceUnsafe",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27792,
                      "src": "15058:24:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_userDefinedValueType$_ID4_$28155_$returns$_t_struct$_Price_$28105_memory_ptr_$",
                        "typeString": "function (IWitPriceFeedsTypes.ID4) view external returns (struct IWitPriceFeedsTypes.Price memory)"
                      }
                    },
                    "id": 2183,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15058:31:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                      "typeString": "struct IWitPriceFeedsTypes.Price memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15016:73:16"
                },
                {
                  "assignments": [
                    2186
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2186,
                      "mutability": "mutable",
                      "name": "_timestamp",
                      "nameLocation": "15108:10:16",
                      "nodeType": "VariableDeclaration",
                      "scope": 2214,
                      "src": "15100:18:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2185,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "15100:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2196,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 2192,
                              "name": "_lastUpdate",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2179,
                              "src": "15150:11:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                                "typeString": "struct IWitPriceFeedsTypes.Price memory"
                              }
                            },
                            "id": 2193,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15162:9:16",
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 28101,
                            "src": "15150:21:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                              "typeString": "Witnet.Timestamp"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                              "typeString": "Witnet.Timestamp"
                            }
                          ],
                          "expression": {
                            "expression": {
                              "id": 2189,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "15126:6:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 2190,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15133:9:16",
                            "memberName": "Timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37157,
                            "src": "15126:16:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                              "typeString": "type(Witnet.Timestamp)"
                            }
                          },
                          "id": 2191,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "15143:6:16",
                          "memberName": "unwrap",
                          "nodeType": "MemberAccess",
                          "src": "15126:23:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Timestamp_$37157_$returns$_t_uint64_$",
                            "typeString": "function (Witnet.Timestamp) pure returns (uint64)"
                          }
                        },
                        "id": 2194,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15126:46:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "id": 2188,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "15121:4:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint256_$",
                        "typeString": "type(uint256)"
                      },
                      "typeName": {
                        "id": 2187,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "15121:4:16",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 2195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15121:52:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15100:73:16"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 2201,
                                  "name": "_lastUpdate",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2179,
                                  "src": "15216:11:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Price_$28105_memory_ptr",
                                    "typeString": "struct IWitPriceFeedsTypes.Price memory"
                                  }
                                },
                                "id": 2202,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15228:5:16",
                                "memberName": "price",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 28096,
                                "src": "15216:17:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "id": 2200,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "15210:5:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int64_$",
                                "typeString": "type(int64)"
                              },
                              "typeName": {
                                "id": 2199,
                                "name": "int64",
                                "nodeType": "ElementaryTypeName",
                                "src": "15210:5:16",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2203,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15210:24:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int64",
                              "typeString": "int64"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_int64",
                              "typeString": "int64"
                            }
                          ],
                          "id": 2198,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15206:3:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_int256_$",
                            "typeString": "type(int256)"
                          },
                          "typeName": {
                            "id": 2197,
                            "name": "int",
                            "nodeType": "ElementaryTypeName",
                            "src": "15206:3:16",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2204,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15206:29:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "id": 2205,
                        "name": "_timestamp",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2186,
                        "src": "15250:10:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2208,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 2206,
                            "name": "_timestamp",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2186,
                            "src": "15275:10:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 2207,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15289:1:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "15275:15:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "hexValue": "323030",
                          "id": 2210,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "15299:3:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_200_by_1",
                            "typeString": "int_const 200"
                          },
                          "value": "200"
                        },
                        "id": 2211,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "15275:27:16",
                        "trueExpression": {
                          "hexValue": "343034",
                          "id": 2209,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "15293:3:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_404_by_1",
                            "typeString": "int_const 404"
                          },
                          "value": "404"
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "id": 2212,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "15191:122:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_int256_$_t_uint256_$_t_uint16_$",
                      "typeString": "tuple(int256,uint256,uint16)"
                    }
                  },
                  "functionReturnParameters": 2135,
                  "id": 2213,
                  "nodeType": "Return",
                  "src": "15184:129:16"
                }
              ]
            },
            "functionSelector": "f78eea83",
            "id": 2215,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "valueFor",
            "nameLocation": "14632:8:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2128,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2127,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "14649:6:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2215,
                  "src": "14641:14:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2126,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14641:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14640:16:16"
            },
            "returnParameters": {
              "id": 2135,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2130,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2215,
                  "src": "14698:6:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 2129,
                    "name": "int256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14698:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2132,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2215,
                  "src": "14706:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2131,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14706:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2134,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2215,
                  "src": "14715:7:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2133,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14715:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14697:26:16"
            },
            "scope": 2294,
            "src": "14623:698:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2229,
              "nodeType": "Block",
              "src": "15647:77:16",
              "statements": [
                {
                  "condition": {
                    "id": 2222,
                    "name": "_condition",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2217,
                    "src": "15662:10:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2228,
                  "nodeType": "IfStatement",
                  "src": "15658:59:16",
                  "trueBody": {
                    "id": 2227,
                    "nodeType": "Block",
                    "src": "15674:43:16",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 2224,
                              "name": "_reason",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2219,
                              "src": "15697:7:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 2223,
                            "name": "_revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2249,
                            "src": "15689:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 2225,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15689:16:16",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2226,
                        "nodeType": "ExpressionStatement",
                        "src": "15689:16:16"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 2230,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_require",
            "nameLocation": "15584:8:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2220,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2217,
                  "mutability": "mutable",
                  "name": "_condition",
                  "nameLocation": "15598:10:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2230,
                  "src": "15593:15:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2216,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15593:4:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2219,
                  "mutability": "mutable",
                  "name": "_reason",
                  "nameLocation": "15624:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2230,
                  "src": "15610:21:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2218,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15610:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15592:40:16"
            },
            "returnParameters": {
              "id": 2221,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15647:0:16"
            },
            "scope": 2294,
            "src": "15575:149:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2248,
              "nodeType": "Block",
              "src": "15786:125:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 2240,
                                  "name": "class",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 973,
                                  "src": "15842:5:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_string_memory_ptr_$",
                                    "typeString": "function () pure returns (string memory)"
                                  }
                                },
                                "id": 2241,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15842:7:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "hexValue": "3a20",
                                "id": 2242,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "15864:4:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73",
                                  "typeString": "literal_string \": \""
                                },
                                "value": ": "
                              },
                              {
                                "id": 2243,
                                "name": "_reason",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2232,
                                "src": "15883:7:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73",
                                  "typeString": "literal_string \": \""
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 2238,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "15811:3:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 2239,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "15815:12:16",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "15811:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 2244,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15811:90:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 2237,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15804:6:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                            "typeString": "type(string storage pointer)"
                          },
                          "typeName": {
                            "id": 2236,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "15804:6:16",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15804:98:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2235,
                      "name": "revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967277,
                        4294967277
                      ],
                      "referencedDeclaration": 4294967277,
                      "src": "15797:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) pure"
                      }
                    },
                    "id": 2246,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15797:106:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2247,
                  "nodeType": "ExpressionStatement",
                  "src": "15797:106:16"
                }
              ]
            },
            "id": 2249,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_revert",
            "nameLocation": "15741:7:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2233,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2232,
                  "mutability": "mutable",
                  "name": "_reason",
                  "nameLocation": "15763:7:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2249,
                  "src": "15749:21:16",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2231,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15749:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15748:23:16"
            },
            "returnParameters": {
              "id": 2234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15786:0:16"
            },
            "scope": 2294,
            "src": "15732:179:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2270,
              "nodeType": "Block",
              "src": "15958:235:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "hexValue": "627970617373656420746f20",
                                "id": 2257,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "16055:14:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_fccea4c12d08fbc4c133f06510dceb96e5d8735022a4075b96fdd082352870f7",
                                  "typeString": "literal_string \"bypassed to \""
                                },
                                "value": "bypassed to "
                              },
                              {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "id": 2261,
                                            "name": "surrogate",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 948,
                                            "src": "16121:9:16",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                              "typeString": "contract IWitPriceFeeds"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848",
                                              "typeString": "contract IWitPriceFeeds"
                                            }
                                          ],
                                          "id": 2260,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "16113:7:16",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_address_$",
                                            "typeString": "type(address)"
                                          },
                                          "typeName": {
                                            "id": 2259,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "16113:7:16",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 2262,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16113:18:16",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 2258,
                                      "name": "IWitOracleAppliance",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26593,
                                      "src": "16093:19:16",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitOracleAppliance_$26593_$",
                                        "typeString": "type(contract IWitOracleAppliance)"
                                      }
                                    },
                                    "id": 2263,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "16093:39:16",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_IWitOracleAppliance_$26593",
                                      "typeString": "contract IWitOracleAppliance"
                                    }
                                  },
                                  "id": 2264,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "16133:5:16",
                                  "memberName": "class",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 26472,
                                  "src": "16093:45:16",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$",
                                    "typeString": "function () view external returns (string memory)"
                                  }
                                },
                                "id": 2265,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "16093:47:16",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_fccea4c12d08fbc4c133f06510dceb96e5d8735022a4075b96fdd082352870f7",
                                  "typeString": "literal_string \"bypassed to \""
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 2255,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "16016:3:16",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 2256,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "16020:12:16",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "16016:16:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 2266,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16016:143:16",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 2254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15991:6:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                            "typeString": "type(string storage pointer)"
                          },
                          "typeName": {
                            "id": 2253,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "15991:6:16",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2267,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15991:183:16",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2252,
                      "name": "_revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2249,
                      "src": "15969:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) pure"
                      }
                    },
                    "id": 2268,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15969:216:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2269,
                  "nodeType": "ExpressionStatement",
                  "src": "15969:216:16"
                }
              ]
            },
            "id": 2271,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_revertBypass",
            "nameLocation": "15928:13:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2250,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15941:2:16"
            },
            "returnParameters": {
              "id": 2251,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15958:0:16"
            },
            "scope": 2294,
            "src": "15919:274:16",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 2274,
            "mutability": "constant",
            "name": "_BYPASS_V2_V3_STORAGE_SLOT",
            "nameLocation": "16226:26:16",
            "nodeType": "VariableDeclaration",
            "scope": 2294,
            "src": "16201:209:16",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 2272,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "16201:7:16",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "hexValue": "307863353335343436396135643332313839613138663565373966393530386438323866613038393038376333313762633839373932623163386462613533393030",
              "id": 2273,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "16344:66:16",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_89199746232346097071757966586983419486280943894818777552189876915781207668992_by_1",
                "typeString": "int_const 8919...(69 digits omitted)...8992"
              },
              "value": "0xc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900"
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 2281,
              "nodeType": "Block",
              "src": "16487:99:16",
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "16507:72:16",
                    "nodeType": "YulBlock",
                    "src": "16507:72:16",
                    "statements": [
                      {
                        "nativeSrc": "16522:39:16",
                        "nodeType": "YulAssignment",
                        "src": "16522:39:16",
                        "value": {
                          "name": "_BYPASS_V2_V3_STORAGE_SLOT",
                          "nativeSrc": "16535:26:16",
                          "nodeType": "YulIdentifier",
                          "src": "16535:26:16"
                        },
                        "variableNames": [
                          {
                            "name": "_ptr.slot",
                            "nativeSrc": "16522:9:16",
                            "nodeType": "YulIdentifier",
                            "src": "16522:9:16"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "prague",
                  "externalReferences": [
                    {
                      "declaration": 2274,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "16535:26:16",
                      "valueSize": 1
                    },
                    {
                      "declaration": 2278,
                      "isOffset": false,
                      "isSlot": true,
                      "src": "16522:9:16",
                      "suffix": "slot",
                      "valueSize": 1
                    }
                  ],
                  "id": 2280,
                  "nodeType": "InlineAssembly",
                  "src": "16498:81:16"
                }
              ]
            },
            "id": 2282,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__bypass",
            "nameLocation": "16428:8:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2275,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "16436:2:16"
            },
            "returnParameters": {
              "id": 2279,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2278,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "16481:4:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2282,
                  "src": "16462:23:16",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                    "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3"
                  },
                  "typeName": {
                    "id": 2277,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2276,
                      "name": "BypassV2V3",
                      "nameLocations": [
                        "16462:10:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 962,
                      "src": "16462:10:16"
                    },
                    "referencedDeclaration": 962,
                    "src": "16462:10:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_BypassV2V3_$962_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyBypassV3.BypassV2V3"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16461:25:16"
            },
            "scope": 2294,
            "src": "16419:167:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2292,
              "nodeType": "Block",
              "src": "16686:59:16",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 2288,
                        "name": "WitPriceFeedsLegacyDataLib",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26464,
                        "src": "16704:26:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsLegacyDataLib_$26464_$",
                          "typeString": "type(library WitPriceFeedsLegacyDataLib)"
                        }
                      },
                      "id": 2289,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16731:4:16",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25245,
                      "src": "16704:31:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                        "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                      }
                    },
                    "id": 2290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16704:33:16",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                    }
                  },
                  "functionReturnParameters": 2287,
                  "id": 2291,
                  "nodeType": "Return",
                  "src": "16697:40:16"
                }
              ]
            },
            "id": 2293,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__legacy",
            "nameLocation": "16603:8:16",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2283,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "16611:2:16"
            },
            "returnParameters": {
              "id": 2287,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2286,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "16680:4:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 2293,
                  "src": "16637:47:16",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                    "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                  },
                  "typeName": {
                    "id": 2285,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2284,
                      "name": "WitPriceFeedsLegacyDataLib.Storage",
                      "nameLocations": [
                        "16637:26:16",
                        "16664:7:16"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 25152,
                      "src": "16637:34:16"
                    },
                    "referencedDeclaration": 25152,
                    "src": "16637:34:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16636:49:16"
            },
            "scope": 2294,
            "src": "16594:151:16",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 2295,
        "src": "1032:15718:16",
        "usedErrors": [
          16,
          19,
          281,
          286,
          537
        ],
        "usedEvents": [
          24,
          292,
          45638,
          45853
        ]
      }
    ],
    "src": "33:16719:16"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.343Z",
  "devdoc": {
    "author": "Guillermo Díaz <guillermo@witnet.io>",
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ],
      "OwnableInvalidOwner(address)": [
        {
          "details": "The owner is not a valid owner account. (eg. `address(0)`)"
        }
      ],
      "OwnableUnauthorizedAccount(address)": [
        {
          "details": "The caller account is not authorized to perform an operation."
        }
      ],
      "ReentrancyGuardReentrantCall()": [
        {
          "details": "Unauthorized reentrant call."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "Upgraded(address,address,bytes32,string)": {
        "params": {
          "baseAddr": "The address of the new implementation contract.",
          "baseCodehash": "The EVM-codehash of the new implementation contract.",
          "from": "The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.",
          "versionTag": "Ascii-encoded version literal with which the implementation deployer decided to tag it."
        }
      }
    },
    "kind": "dev",
    "methods": {
      "acceptOwnership()": {
        "details": "The new owner accepts the ownership transfer."
      },
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "pendingOwner()": {
        "details": "Returns the address of the pending owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      }
    },
    "title": "WitPriceFeeds: Price Feeds upgradable repository reliant on the Wit/Oracle blockchain.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "defaultRadonSLA()": {
        "notice": "=============================================================================================================== --- IWitFeedsLegacy -------------------------------------------------------------------------------------------"
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "version": 1
  }
}